@meowdown/core 0.26.0 → 0.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +14 -22
- package/dist/index.js +14 -14
- package/dist/style.css +72 -75
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -88,7 +88,7 @@ type HTMLCommentExtension = Extension<{
|
|
|
88
88
|
/**
|
|
89
89
|
* A block-level HTML comment (`<!-- ... -->`) as an invisible, atomic node.
|
|
90
90
|
*
|
|
91
|
-
* Markdown is the source of truth, so a comment must survive a round-trip
|
|
91
|
+
* Markdown is the source of truth, so a comment must survive a round-trip, but
|
|
92
92
|
* a comment is, by definition, not rendered output. Rather than spilling the raw
|
|
93
93
|
* `<!-- ... -->` into a paragraph (where it reads as body text), the parser maps
|
|
94
94
|
* a `CommentBlock` onto this node: the text rides on the `content` attribute and
|
|
@@ -107,21 +107,15 @@ type HTMLCommentExtension = Extension<{
|
|
|
107
107
|
declare function defineHTMLComment(): HTMLCommentExtension;
|
|
108
108
|
//#endregion
|
|
109
109
|
//#region src/extensions/inline-marks.d.ts
|
|
110
|
-
interface
|
|
111
|
-
src: string;
|
|
112
|
-
alt: string;
|
|
113
|
-
}
|
|
114
|
-
interface MdImageSourceAttrs {
|
|
110
|
+
interface MdImageAttrs {
|
|
115
111
|
src: string;
|
|
116
112
|
alt: string;
|
|
113
|
+
title: string;
|
|
117
114
|
}
|
|
118
115
|
interface MdLinkTextAttrs {
|
|
119
116
|
href: string;
|
|
120
117
|
}
|
|
121
|
-
interface
|
|
122
|
-
target: string;
|
|
123
|
-
}
|
|
124
|
-
interface MdWikilinkViewAttrs {
|
|
118
|
+
interface MdWikilinkAttrs {
|
|
125
119
|
target: string;
|
|
126
120
|
display: string;
|
|
127
121
|
}
|
|
@@ -254,6 +248,12 @@ declare function defineEditorExtensionImpl(): import("@prosekit/core").Union<rea
|
|
|
254
248
|
setextUnderline?: number | null;
|
|
255
249
|
};
|
|
256
250
|
};
|
|
251
|
+
}>, import("@prosekit/core").Extension<{
|
|
252
|
+
Nodes: {
|
|
253
|
+
heading: {
|
|
254
|
+
closingHashes?: number | null;
|
|
255
|
+
};
|
|
256
|
+
};
|
|
257
257
|
}>, import("@prosekit/core").PlainExtension, import("@prosekit/extensions/heading").HeadingCommandsExtension, import("@prosekit/core").PlainExtension]>, import("@prosekit/core").Union<readonly [import("@prosekit/extensions/table").TableSpecExtension, import("@prosekit/extensions/table").TableRowSpecExtension, import("@prosekit/extensions/table").TableCellSpecExtension, import("@prosekit/extensions/table").TableHeaderCellSpecExtension, import("@prosekit/core").PlainExtension, import("@prosekit/extensions/table").TableCommandsExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension]>, import("@prosekit/extensions/code-block").CodeBlockExtension, MeowdownHorizontalRuleExtension, import("@prosekit/core").Extension<{
|
|
258
258
|
Nodes: {
|
|
259
259
|
htmlComment: MeowdownHTMLCommentAttrs;
|
|
@@ -300,19 +300,11 @@ declare function defineEditorExtensionImpl(): import("@prosekit/core").Union<rea
|
|
|
300
300
|
};
|
|
301
301
|
}>, import("@prosekit/core").Extension<{
|
|
302
302
|
Marks: {
|
|
303
|
-
|
|
304
|
-
};
|
|
305
|
-
}>, import("@prosekit/core").Extension<{
|
|
306
|
-
Marks: {
|
|
307
|
-
mdWikilinkView: MdWikilinkViewAttrs;
|
|
308
|
-
};
|
|
309
|
-
}>, import("@prosekit/core").Extension<{
|
|
310
|
-
Marks: {
|
|
311
|
-
mdImageSource: MdImageSourceAttrs;
|
|
303
|
+
mdWikilink: MdWikilinkAttrs;
|
|
312
304
|
};
|
|
313
305
|
}>, import("@prosekit/core").Extension<{
|
|
314
306
|
Marks: {
|
|
315
|
-
|
|
307
|
+
mdImage: MdImageAttrs;
|
|
316
308
|
};
|
|
317
309
|
}>, import("@prosekit/core").Extension<{
|
|
318
310
|
Marks: {
|
|
@@ -601,7 +593,7 @@ type MarkMode = 'hide' | 'focus' | 'show';
|
|
|
601
593
|
declare function defineMarkMode(mode: MarkMode): PlainExtension;
|
|
602
594
|
//#endregion
|
|
603
595
|
//#region src/extensions/mark-names.d.ts
|
|
604
|
-
declare const MARK_NAMES: readonly ["
|
|
596
|
+
declare const MARK_NAMES: readonly ["mdWikilink", "mdImage", "mdMark", "mdEm", "mdStrong", "mdCode", "mdLinkText", "mdLinkUri", "mdLinkTitle", "mdDel", "mdHighlight", "mdTag", "mdPack"];
|
|
605
597
|
type MarkName = (typeof MARK_NAMES)[number];
|
|
606
598
|
//#endregion
|
|
607
599
|
//#region src/extensions/markdown-copy.d.ts
|
|
@@ -653,4 +645,4 @@ declare function defineWikilinkTrigger(): PlainExtension;
|
|
|
653
645
|
*/
|
|
654
646
|
declare function getVirtualElementFromRange(view: EditorView, range: PositionRange): VirtualElement;
|
|
655
647
|
//#endregion
|
|
656
|
-
export { type CheckRoundTripOptions, type CodeBlockAttrs, type CodeToken, type DocToMarkdownOptions, EDITOR_KEY_BINDINGS, type EditorExtension, type EmbedDescriptor, type ExitBoundaryHandler, type ExitBoundaryOptions, type ImageClickHandler, type ImageClickPayload, type ImageOptions, type LinkAttrs, type LinkClickHandler, type LinkClickPayload, type LinkCopyHandler, type LinkCopyPayload, type LinkEditHandler, type LinkEditOptions, type LinkHoverHandler, type LinkUnit, type MarkChunk, type MarkMode, type MarkName, type MarkdownToDocOptions, type
|
|
648
|
+
export { type CheckRoundTripOptions, type CodeBlockAttrs, type CodeToken, type DocToMarkdownOptions, EDITOR_KEY_BINDINGS, type EditorExtension, type EmbedDescriptor, type ExitBoundaryHandler, type ExitBoundaryOptions, type ImageClickHandler, type ImageClickPayload, type ImageOptions, type LinkAttrs, type LinkClickHandler, type LinkClickPayload, type LinkCopyHandler, type LinkCopyPayload, type LinkEditHandler, type LinkEditOptions, type LinkHoverHandler, type LinkUnit, type MarkChunk, type MarkMode, type MarkName, type MarkdownToDocOptions, type MdImageAttrs, type MdLinkTextAttrs, type MdWikilinkAttrs, type MeowdownHTMLCommentAttrs, type NodeName, type PlaceholderOptions, type PositionRange, Priority, type RoundTripFidelity, type TagClickHandler, type TagClickPayload, type TypedEditor, type TypedMarkBuilders, type VirtualElement, type WikilinkClickHandler, type WikilinkClickPayload, checkRoundTrip, codeBlockLanguages, defaultResolveImageUrl, defineBulletAfterHeading, defineCodeBlockSyntaxHighlight, defineEditorExtension, defineEmbedPaste, defineExitBoundaryHandler, defineHTMLComment, defineHTMLPaste, defineImage, defineImageClickHandler, defineLinkClickHandler, defineLinkCommands, defineLinkEditKeymap, defineLinkHoverHandler, defineMarkMode, defineMarkdownCopy, definePlaceholder, defineReadonly, defineTagClickHandler, defineWikilinkClickHandler, defineWikilinkTrigger, docToMarkdown, getCodeTokens, getLinkUnitAt, getMarkBuilders, getVirtualElementFromRange, inlineTextToMarkChunks, insertLink, listenForTweetHeight, markdownToDoc, matchEmbed, removeLink, updateLink, withPriority };
|
package/dist/index.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import{Priority as e,Priority as t,createMarkBuilders as n,createNodeBuilders as r,defineBaseCommands as i,defineBaseKeymap as a,defineCommands as o,defineDOMEventHandler as s,defineHistory as c,defineKeymap as l,defineMarkSpec as u,defineMarkView as d,defineNodeAttr as f,defineNodeSpec as p,definePlugin as m,getMarkRange as h,getMarkType as ee,getNodeType as te,isAllSelection as ne,isAtBlockStart as re,isTextSelection as g,toggleNode as ie,union as _,unsetBlockType as ae,withPriority as oe,withPriority as v,withSkipCodeBlock as se}from"@prosekit/core";import{definePlaceholder as ce}from"@prosekit/extensions/placeholder";import{defineReadonly as le}from"@prosekit/extensions/readonly";import{isElementLike as ue,once as y}from"@ocavue/utils";import{defineBlockquote as de}from"@prosekit/extensions/blockquote";import{defineCodeBlock as fe,defineCodeBlockHighlight as pe}from"@prosekit/extensions/code-block";import{defineDoc as me}from"@prosekit/extensions/doc";import{defineGapCursor as he}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as ge}from"@prosekit/extensions/mod-click-prevention";import{defineText as _e}from"@prosekit/extensions/text";import{defineVirtualSelection as ve}from"@prosekit/extensions/virtual-selection";import{Plugin as b,PluginKey as x,Selection as ye,TextSelection as S}from"@prosekit/pm/state";import{Decoration as
|
|
2
|
-
`)}function gt(e){let{selection:t}=e;if(!t.empty)return C.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return C.empty;let i=h(n,ee(e.schema,`mdPack`));return i?C.create(e.doc,[be.inline(i.from,i.to,{class:`show`})]):C.empty}function D(e,t){let n=mt(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function _t(e,t,n){for(let r of n){let n=E(e,t,r);if(n)return n}}function O(e,t,n){let r=_t(e,t,n);return r&&r.to===t?r:void 0}function k(e,t,n){let r=_t(e,t,n);return r&&r.from===t?r:void 0}function A(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=_t(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function vt(e,t){return S.create(e.doc,t.from,t.to)}function yt(e){return(t,n)=>{let r=D(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=k(t,i.from,r);if(e)return n?.(t.tr.setSelection(vt(t,e))),!0;if(O(t,i.from,r)){let e=t.doc.resolve(i.from);return i.from>=e.end()?!1:(n?.(t.tr.setSelection(S.create(t.doc,i.from+1))),!0)}return!1}let a=A(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.to))),!0):!1}}function bt(e){return(t,n)=>{let r=D(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=O(t,i.from,r);return e?(n?.(t.tr.setSelection(vt(t,e))),!0):!1}let a=A(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.from))),!0):!1}}function xt(e){return(t,n)=>{let r=D(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=O(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!k(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function St(e){return(t,n)=>{let r=D(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=k(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!O(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}function Ct(e,t){return new b({key:new x(`atomic-mark-selection-${t}`),props:{decorations:n=>{let r=D(e,n);if(r.length===0)return;let i=A(n,r);if(i)return C.create(n.doc,[be.inline(i.from,i.to,{class:t})])}}})}function wt({marks:e,selectedClass:n}){return _(v(l({ArrowRight:yt(e),ArrowLeft:bt(e),Backspace:xt(e),Delete:St(e)}),t.high),m(Ct(e,n)))}const j=new Map,Tt=new Map;async function Et(e){let t=j.get(e);if(t!==void 0)return t;let n=xe.matchLanguageName(Se,e,!0);if(!n)return j.set(e,null),null;let r=n.support;if(!r)try{r=await n.load()}catch(t){return console.error(`[meowdown] Failed to load language "${e}":`,t),j.set(e,null),null}return j.set(e,r),r}function Dt(e,t){let n=Tt.get(e);if(n)return n;let r=Te({parse:e=>t.language.parser.parse(e.content),highlighter:Ce});return Tt.set(e,r),r}const Ot=e=>{let t=e.language?.trim();if(!t)return[];let n=j.get(t);return n===null?[]:n?Dt(t,n)(e):Et(t).then(()=>void 0)};function kt(){return pe({parser:Ot,nodeTypes:[`codeBlock`]})}function At(e,t){let n=t.language.parser.parse(e),r=[];return we(n,Ce,(e,t,n)=>{r.push([e,t,n])}),r}function jt(e,t){let n=t.trim();if(!n)return[];let r=j.get(n);return r===null?[]:r?At(e,r):Et(n).then(t=>t?At(e,t):[])}function Mt(e,t){return(n,r)=>{if(r){let i=S.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function Nt(e,t,n){return(r,i)=>{if(i){let a=S.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function Pt(){return o({selectText:Mt,selectTextBetween:Nt})}function Ft(){return f({type:`doc`,attr:`frontmatter`,default:null})}function It(){return p({name:`heading`,whitespace:`pre`})}function Lt(){return f({type:`heading`,attr:`setextUnderline`,default:null,toDOM:e=>e==null?null:[`data-setext-underline`,String(e)],parseDOM:e=>{let t=e.getAttribute(`data-setext-underline`);if(t==null)return null;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)&&n>0?n:null}})}function M(e){return se(ie({type:`heading`,attrs:{level:e}}))}const Rt=(e,t,n)=>re(e,n)?.parent.type.name===`heading`?ae()(e,t,n):!1;function zt(){return l({"Mod-1":M(1),"Mod-2":M(2),"Mod-3":M(3),"Mod-4":M(4),"Mod-5":M(5),"Mod-6":M(6),Backspace:Rt})}function Bt(){return _(Oe(),It(),Lt(),De(),Ee(),zt())}function Vt(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function Ht(){return _(ke(),Vt())}function Ut(){return p({name:`htmlComment`,group:`block`,atom:!0,selectable:!1,attrs:{content:{default:``}},toDOM:e=>[`div`,{"data-html-comment":e.attrs.content,style:`display: none`}],parseDOM:[{tag:`div[data-html-comment]`,getAttrs:e=>({content:e.getAttribute(`data-html-comment`)??``})}]})}function Wt(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function Gt(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Fe.fromJSON(e,t))]}var N=class e extends je{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return Me.ok(e);let t=e.content.size,n;for(let[r,i,a]of this.chunks){if(r>=i)continue;let o=Math.max(0,Math.min(r,t)),s=Math.max(o,Math.min(i,t));o>=s||e.nodesBetween(o,s,(t,r)=>{if(!t.isText)return!0;let i=Math.max(o,r),c=Math.min(s,r+t.nodeSize);if(i>=c)return!1;let l=t.marks;for(let t of l)t.isInSet(a)||(n??=new Ne(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Ne(e),n.addMark(i,c,t));return!1})}return Me.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return Kt;let t=this.chunks[0][0],n=this.chunks[0][1];for(let[,e]of this.chunks)e>n&&(n=e);let r=e.content.size,i=Math.max(0,Math.min(t,r)),a=Math.max(i,Math.min(n,r));return new Ae(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(Wt)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>Gt(t,e)))}};je.jsonID(`batchSetMark`,N);const Kt=new N([]),qt=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),Jt=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function Yt(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function Xt(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!qt.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!Jt.test(e))return!1;return!0}function P(e){return e===32||e===9||e===10||e===13}const Zt=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,Qt=/[\s(*_~]/;function $t(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function en(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function tn(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&en(e,t,`)`)>en(e,t,`(`))t--;else if(n===`;`){let n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(0,t));if(!n)break;t=n.index}else break}return t}const nn={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!$t(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!Qt.test(r))return-1;let i=Zt.exec(e.slice(n,e.end));if(!i)return-1;let a=tn(i[0]);return a===0||!Xt(Yt(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function rn(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===95||e>127&&/[\p{L}\p{N}]/u.test(String.fromCharCode(e))}function an(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const on={defineNodes:[{name:`Hashtag`}],parseInline:[{name:`Hashtag`,parse(e,t,n){if(t!==35||!/\s|^$/.test(e.slice(n-1,n)))return-1;let r=n+1,i=!1;for(;r<e.end;){let t=e.char(r);if(!rn(t))break;i||=an(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},sn={resolve:`Highlight`,mark:`HighlightMark`},cn=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,ln={defineNodes:[{name:`Highlight`},{name:`HighlightMark`}],parseInline:[{name:`Highlight`,after:`Emphasis`,parse(e,t,n){if(t!==61||e.char(n+1)!==61||e.char(n+2)===61)return-1;let r=e.slice(n-1,n),i=e.slice(n+2,n+3),a=/\s|^$/.test(r),o=/\s|^$/.test(i),s=cn.test(r),c=cn.test(i);return e.addDelimiter(sn,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]},un={defineNodes:[{name:`Wikilink`},{name:`WikilinkMark`}],parseInline:[{name:`Wikilink`,before:`Link`,parse(e,t,n){if(t!==91||e.char(n+1)!==91)return-1;let r=!1;for(let t=n+2;t<e.end-1;t++){let i=e.char(t);if(i===93){if(e.char(t+1)!==93||!r)return-1;let i=t+2;return e.addElement(e.elt(`Wikilink`,n,i,[e.elt(`WikilinkMark`,n,n+2),e.elt(`WikilinkMark`,t,i)]))}if(i===91||i===10)return-1;i!==32&&i!==9&&(r=!0)}return-1}}]};function dn(e){return e.end}const F=Le.configure([Ie,on,un,nn,ln]),fn=F.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:dn}]});function I(e){return F.parseInline(e,0)}function L(e,t,n=[]){for(let r of e)t(r)&&n.push(r),L(r.children,t,n);return n}function pn(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const R=pn(F);function mn(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}function hn(e){let t=e.replace(/^\[\[/,``).replace(/\]\]$/,``),n=t.indexOf(`|`);return n<0?{target:t.trim(),display:``}:{target:t.slice(0,n).trim(),display:t.slice(n+1).trim()}}function gn(){return e=>{let t=e.attrs,n=document.createElement(`span`);n.className=`md-wikilink-view`;let r=document.createElement(`span`);r.className=`md-wikilink-label`,r.contentEditable=`false`,r.dataset.testid=`wikilink`,r.textContent=t.display||t.target,n.appendChild(r);let i=document.createElement(`span`);return i.className=`md-wikilink-view-content`,n.appendChild(i),{dom:n,contentDOM:i,ignoreMutation:e=>!i.contains(e.target)}}}function _n(){return d({name:`mdWikilinkView`,constructor:gn()})}const vn=new Map([[R.Emphasis,`mdEm`],[R.StrongEmphasis,`mdStrong`],[R.InlineCode,`mdCode`],[R.Strikethrough,`mdDel`],[R.Highlight,`mdHighlight`],[R.EmphasisMark,`mdMark`],[R.CodeMark,`mdMark`],[R.LinkMark,`mdMark`],[R.StrikethroughMark,`mdMark`],[R.HighlightMark,`mdMark`],[R.URL,`mdLinkUri`],[R.LinkTitle,`mdLinkTitle`],[R.Hashtag,`mdTag`],[R.WikilinkMark,`mdMark`]]);function yn(e,t){let n=I(t),r=[];return z(n,[],0,t.length,t,e,r),r}function bn(e){if(/^[a-z][a-z0-9+.-]*:/i.test(e))return e;if(/^[^\s@]+@[^\s@]+$/.test(e))return`mailto:${e}`;if(/^www\./i.test(e)||Xt(Yt(e)))return`https://${e}`}function xn(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function z(e,t,n,r,i,a,o){let s=n;for(let n of e){n.from>s&&B(o,s,n.from,t);let e=n.type;if(e===R.Link)Sn(n,t,i,a,o);else if(e===R.Image)Cn(n,t,i,a,o);else if(e===R.Wikilink)wn(n,t,i,a,o);else if(e===R.URL){let e=bn(i.slice(n.from,n.to)),r=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();B(o,n.from,n.to,[...t,r])}else{let r;e===R.Emphasis?r=`italic`:e===R.StrongEmphasis?r=`bold`:e===R.InlineCode?r=`code`:e===R.Strikethrough?r=`strike`:e===R.Highlight?r=`highlight`:e===R.Autolink&&(r=`autolink`);let s=r?[...t,a.mdPack.create({key:r})]:t,c=vn.get(e),l=c?[...s,a[c].create()]:s;n.children.length===0?B(o,n.from,n.to,l):z(n.children,l,n.from,n.to,i,a,o)}s=n.to}s<r&&B(o,s,r,t)}function Sn(e,t,n,r,i){let a=-1,o=null,s=null,c=0;for(let t of e.children)t.type===R.LinkMark?(c++,c===2&&(a=t.from)):t.type===R.URL&&o===null?o=t:t.type===R.LinkTitle&&s===null&&(s=t);let l=o?n.slice(o.from,o.to):``,u=s?xn(n.slice(s.from,s.to)):``,d=l?r.mdLinkText.create({href:l}):null,f=e=>a>=0&&e<a&&d!==null,p=r.mdPack.create({key:`link`,data:{href:l,title:u}}),m=[...t,p],h=e.from;for(let t of e.children){if(t.from>h){let e=f(h)?[...m,d]:m;B(i,h,t.from,e)}let e=f(t.from)?[...m,d]:m;if(t.type===R.Wikilink){wn(t,e,n,r,i),h=t.to;continue}let a=vn.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?B(i,t.from,t.to,o):z(t.children,o,t.from,t.to,n,r,i),h=t.to}h<e.to&&B(i,h,e.to,m)}function Cn(e,t,n,r,i){let a=e.children.find(e=>e.type===R.URL);if(!a){Sn(e,t,n,r,i);return}let o=e.children.filter(e=>e.type===R.LinkMark),s=n.slice(a.from,a.to),c=o.length>=2?n.slice(o[0].to,o[1].from):``,l=r.mdImageSource.create({src:s,alt:c}),u=r.mdImageView.create({src:s,alt:c}),d=r.mdPack.create({key:`image`,data:{src:s}}),f=e.to-1,p=e=>e>=f?[...t,d,l,u]:[...t,d,l],m=e.from;for(let t of e.children){t.from>m&&B(i,m,t.from,p(m));let e=vn.get(t.type),a=e?[...p(t.from),r[e].create()]:p(t.from);t.children.length===0?B(i,t.from,t.to,a):z(t.children,a,t.from,t.to,n,r,i),m=t.to}m<e.to&&B(i,m,e.to,p(m))}function wn(e,t,n,r,i){let{target:a,display:o}=hn(n.slice(e.from,e.to)),s=r.mdWikilinkSource.create({target:a}),c=r.mdWikilinkView.create({target:a,display:o}),l=e.to-1,u=e=>e>=l?[...t,s,c]:[...t,s],d=e.from;for(let t of e.children){t.from>d&&B(i,d,t.from,u(d));let e=r.mdMark.create();t.from<l&&t.to>l?(B(i,t.from,l,[...u(t.from),e]),B(i,l,t.to,[...u(l),e])):B(i,t.from,t.to,[...u(t.from),e]),d=t.to}d<e.to&&B(i,d,e.to,u(d))}function B(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&mn(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const Tn=`inline-marks-applied`,En=new WeakMap;let Dn=0,On=0;function kn(e,t,n){let r=En.get(e);if(r?On++:(Dn++,r=yn(Yr(n),e.textContent),En.set(e,r)),t===0)return r;let i=[];for(let[e,n,a]of r)i.push([e+t,n+t,a]);return i}function An(e,t){let n=1/0,r=-1/0;for(let t of e)for(let e of t.mapping.maps)e.forEach((e,t,i,a)=>{i<n&&(n=i),a>r&&(r=a)});let i=t.doc.content.size;return n>r?{from:0,to:i}:{from:Math.max(0,n),to:Math.min(i,r)}}function jn(e,t){let n=[];return e.doc.nodesBetween(t.from,t.to,(t,r)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;if(t.childCount===0)return!1;let i=kn(t,r+1,e.schema);return i.length>0&&n.push(...i),!1}),n}function Mn(){return new b({key:new x(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(Tn))return null;let r=jn(n,An(e,n));if(r.length===0)return null;let i=n.tr.step(new N(r));return i.setMeta(Tn,!0),i.setMeta(`addToHistory`,!1),i},view(e){return e.dispatch(Nn(e.state)),{}}})}function Nn(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function Pn(){return m(Mn())}function Fn(){return u({name:`mdImageView`,inclusive:!1,attrs:{src:{default:``},alt:{default:``}},toDOM:()=>[`span`,{class:`md-image-anchor`},0],parseDOM:[{tag:`span.md-image-anchor`}]})}function In(){return u({name:`mdImageSource`,inclusive:!1,attrs:{src:{default:``},alt:{default:``}},toDOM:()=>[`span`,{class:`md-image-source`},0],parseDOM:[{tag:`span.md-image-source`}]})}function Ln(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function Rn(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function zn(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function Bn(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function Vn(){return u({name:`mdLinkText`,inclusive:!1,attrs:{href:{default:``}},toDOM:e=>[`a`,{class:`md-link`,href:e.attrs.href},0],parseDOM:[{tag:`a`,getAttrs:e=>({href:e.getAttribute(`href`)??``})}]})}function Hn(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function Un(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function Wn(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function Gn(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function Kn(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function qn(){return u({name:`mdWikilinkSource`,inclusive:!1,attrs:{target:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-source`},0],parseDOM:[{tag:`span.md-wikilink-source`}]})}function Jn(){return u({name:`mdWikilinkView`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-anchor`},0],parseDOM:[{tag:`span.md-wikilink-anchor`}]})}function Yn(){return u({name:`mdPack`,excludes:``,inclusive:!1,attrs:{key:{},data:{default:null}},toDOM:e=>[`span`,{class:`md-pack`,"data-key":e.attrs.key},0],parseDOM:[{tag:`span.md-pack`}]})}function Xn(){return _(Ln(),Rn(),zn(),Bn(),Vn(),Hn(),Un(),Wn(),Gn(),Kn(),qn(),Jn(),In(),Fn(),Yn())}function Zn(e,t=0){let n=t,r=0;for(let t=0;t<e.length;t++)e.charCodeAt(t)===96?(r++,r>n&&(n=r)):r=0;return n}const V={em:{node:R.Emphasis,delim:`*`},strong:{node:R.StrongEmphasis,delim:`**`},code:{node:R.InlineCode,delim:"`"},del:{node:R.Strikethrough,delim:`~~`},highlight:{node:R.Highlight,delim:`==`}},Qn=new Set([R.EmphasisMark,R.CodeMark,R.LinkMark,R.StrikethroughMark,R.HighlightMark]);function H(e){return[e.children[0],e.children.at(-1)]}function $n(e){let{type:t,children:n}=e;if(t===R.Emphasis||t===R.StrongEmphasis||t===R.Strikethrough||t===R.Highlight)return[n[0].to,n.at(-1).from];if(t===R.Link||t===R.Image){let e=n.find((e,t)=>t>0&&e.type===R.LinkMark);return e?[n[0].to,e.from]:null}return null}function er(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=$n(r);return i&&i[0]<=t&&n<=i[1]?er(r.children,t,n):er(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function tr(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return tr(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function nr(e,t,n){for(;t<n&&P(e.charCodeAt(t));)t++;for(;n>t&&P(e.charCodeAt(n-1));)n--;return[t,n]}function rr(e,t,n,r){let i=L(I(e),e=>e.type===r.node||Qn.has(e.type));for(let r=t;r<n;r++)if(!P(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function ir(e,t,n,r,i){let a=I(e),o=L(a,e=>e.type===r.node);return i?sr(e,o,t,n):ar(e,a,o,t,n,r)}function ar(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=er(t,r,i);for(let e of n)e.to===r&&(r=e.from),e.from===i&&(i=e.to)}let o=[];for(let e of n)if(r<=e.from&&e.to<=i){let[t,n]=H(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=or(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function or(e,t,n,r,i){if(i.node!==R.InlineCode)return[i.delim,i.delim];let a=e.slice(t,n);for(let e of[...r].sort((e,t)=>t.from-e.from))a=a.slice(0,e.from-t)+a.slice(e.to-t);let o="`".repeat(Zn(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function sr(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=H(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=tr(a.children.slice(1,-1),s,c);s>t.to&&P(e.charCodeAt(s-1));)s--;for(;c<o.from&&P(e.charCodeAt(c));)c++;s>t.to?i.push({from:s,to:s,insert:e.slice(o.from,o.to)}):i.push({from:t.from,to:t.to,insert:``}),c<o.from?i.push({from:c,to:c,insert:e.slice(t.from,t.to)}):i.push({from:o.from,to:o.to,insert:``})}return i}function cr(e,t,n){let{delim:r}=n,i=r.length;if(e.slice(t-i,t)===r&&e.startsWith(r,t)&&e[t-i-1]!==r[0]&&e[t+i]!==r[0])return{kind:`unwrap`,from:t-i,to:t+i};let a=I(e),o=L(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=H(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return lr(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function lr(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=$n(n);return!e||t<e[0]||t>e[1]?!0:lr(n.children,t)}return!1}function U(e){return(t,n)=>{if(t.selection.empty)return ur(e,t,n);let{from:r,to:i,anchor:a,head:o}=t.selection,s=[];t.doc.nodesBetween(r,i,(t,n)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;let a=t.textContent,o=n+1,[c,l]=nr(a,Math.max(r-o,0),Math.min(i-o,a.length));return c<l&&s.push({text:a,base:o,from:c,to:l,active:rr(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>ir(t.text,t.from,t.to,e,c).map(e=>({from:e.from+t.base,to:e.to+t.base,insert:e.insert})));if(l.length===0)return!1;if(n){let e=t.tr;l.sort((e,t)=>t.from-e.from||t.to-e.to);for(let t of l)t.insert?e.insertText(t.insert,t.from,t.to):e.delete(t.from,t.to);e.setSelection(S.create(e.doc,e.mapping.map(a,a<=o?1:-1),e.mapping.map(o,o<a?1:-1))),n(e.scrollIntoView())}return!0}}function ur(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=cr(i.textContent,r.parentOffset,e);if(!a)return!1;if(n){let i=r.start(),o=t.tr;a.kind===`unwrap`&&o.delete(i+a.from,i+a.to),a.kind===`move`&&o.setSelection(S.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(S.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function dr(){return o({toggleEm:()=>U(V.em),toggleStrong:()=>U(V.strong),toggleCode:()=>U(V.code),toggleDel:()=>U(V.del),toggleHighlight:()=>U(V.highlight)})}function fr(){return l({"Mod-b":U(V.strong),"Mod-i":U(V.em),"Mod-e":U(V.code),"Mod-Shift-x":U(V.del),"Mod-Shift-h":U(V.highlight)})}function pr(){return _(dr(),fr())}function mr(e,t,n){let r;return e.doc.nodesBetween(t.from,t.to,(e,i)=>(e.isText&&e.marks.some(e=>e.type.name===n)&&(r={from:Math.max(i,t.from),to:Math.min(i+e.nodeSize,t.to)}),!0)),r}function W(e,t){let n=E(e,t,`mdLinkText`),r=E(e,t,`mdPack`),i=r??n;if(!i)return;let a=r?.mark.attrs,o=n?.mark.attrs?.href??``;if(!r||a?.key!==`link`)return{unit:{from:i.from,to:i.to},href:o,title:``};let s=mr(e,i,`mdLinkUri`),c=s?s.from-2:i.to-3,l=s?s.from:i.to-1;return{unit:{from:i.from,to:i.to},label:{from:i.from+1,to:c},dest:{from:l,to:i.to-1},href:a.data.href,title:a.data.title}}function hr(e){let t=e.trim();return t?bn(t)??t:``}function gr(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function _r(e){let{selection:t}=e,{$from:n,$to:r,empty:i}=t;if(i||!n.sameParent(r)||!g(t))return;let a=n.parent;if(!a.isTextblock||a.type.spec.code)return;let o=n.start(),[s,c]=nr(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function vr(e={}){return(t,n)=>{let r=gr(hr(e.href??``),e.title??``),i=_r(t);if(!i)return!1;if(n){let{from:e,to:a}=i,o=t.tr,s=`](${r})`;o.insertText(s,a).insertText(`[`,e),n(o.setSelection(S.create(o.doc,e,a+1+s.length)).scrollIntoView())}return!0}}function yr(e){return(t,n)=>{let r=W(t,t.selection.from);if(!r?.dest)return!1;let i=gr(hr(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function br(){return(e,t)=>{let n=W(e,e.selection.from);return n?.label?(t&&t(e.tr.delete(n.label.to,n.unit.to).delete(n.unit.from,n.label.from).scrollIntoView()),!0):!1}}function xr(){return o({insertLink:vr,updateLink:yr,removeLink:br})}function Sr(e){return(t,n,r)=>{let i=W(t,t.selection.from);if(i){if(n&&r){let{unit:{from:a,to:o}}=i;n(t.tr.setSelection(S.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=_r(t);if(a){if(n&&r){let{from:i,to:o}=a;n(t.tr.setSelection(S.create(t.doc,i,o)).scrollIntoView()),r.focus(),e({from:i,to:o,link:void 0})}return!0}return!1}}function Cr(e){return l({"Mod-k":Sr(e)})}function wr(){return f({type:`list`,attr:`marker`,default:null,splittable:!0,toDOM:e=>e===`)`||e===`*`||e===`+`?[`data-list-marker`,e]:null,parseDOM:e=>{let t=e.getAttribute(`data-list-marker`);return t===`)`||t===`*`||t===`+`?t:null}})}function Tr(){return f({type:`list`,attr:`taskMarker`,default:null,splittable:!0,toDOM:e=>e===`X`?[`data-list-task-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-list-task-marker`)===`X`?`X`:null})}function Er(e){return e===2||e===3||e===4}function Dr(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>Er(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return Er(t)?t:1}})}const Or=[T(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),T(/^\s?(\d+)\.\s$/,({match:e})=>{let t=e[1],n=t?parseInt(t,10):void 0;return{kind:`ordered`,collapsed:!1,order:n&&n>=2&&Number.isSafeInteger(n)?n:null}}),T(/^\s?\[([\sXx]?)]\s$/,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),T(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function kr(){return _(Or.map(Re))}function Ar(){return w({kind:`task`,marker:`+`})}function jr(){return w({kind:`task`,marker:null})}function Mr(){return o({wrapInCircleTask:Ar,wrapInSquareTask:jr})}function Nr(e){let{$from:t}=e.selection;for(let e=t.depth;e>0;e--){let n=t.node(e);if(n.type.name===`list`)return n.attrs}return null}function Pr(){return(e,t,n)=>{let r=Nr(e),i=r?.kind===`task`&&r.marker!==`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:r?.marker??null,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:null,checked:!1},w(a)(e,t,n)}}function Fr(){return(e,t,n)=>{let r=Nr(e),i=r?.kind===`task`&&r.marker===`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:`+`,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:`+`,checked:!1},w(a)(e,t,n)}}function Ir(){return l({"Mod-Enter":Pr(),"Mod-Shift-Enter":Fr()})}function Lr(){return _(We(),He(),Ve(),ze(),Ue(),Be(),kr(),Ir(),wr(),Tr(),Dr(),Mr())}function Rr(){return p({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function zr(){return _(v(Rr(),t.highest),Ge(),Ke())}const Br=(e,t)=>{let{selection:n}=e;return!tt(n)||!n.isColSelection()||!n.isRowSelection()?!1:et(e,t)};function Vr(){return v(l({Backspace:Br,Delete:Br}),t.high)}function Hr(){return _($e(),Qe(),qe(),Ze(),Xe({allowTableNodeSelection:!0}),Je(),Ye(),Vr())}function Ur(){return _(zr(),me(),Ft(),_e(),de(),Lr(),Bt(),Hr(),fe(),Ht(),Ut(),Xn(),kt(),Pn(),pr(),xr(),_n(),wt({marks:[{name:`mdImageSource`,modes:[`hide`]},{name:`mdWikilinkSource`,modes:[`hide`,`focus`,`show`]}],selectedClass:`md-atomic-selected`}),a(),i(),c(),he(),ve(),ge(),Pt())}function Wr(){return Ur()}const Gr=y(()=>{let e=Wr().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),Kr=y(()=>r(Gr())),qr=y(()=>n(Gr())),Jr=`meowdown_mark_builders`;function Yr(e){let t=e.cached[Jr];if(t)return t;let r=n(e);return e.cached[Jr]=r,r}const Xr=`meowdown_node_builders`;function Zr(e){let t=e.cached[Xr];if(t)return t;let n=r(e);return e.cached[Xr]=n,n}function G(e,t={}){let{nodes:n=Kr(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=$r(e);i=t,n&&(a=e.slice(n))}let o=ei(n,fn.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const Qr=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function $r(e){let t=Qr.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function ei(e,t,n){let r=[];if(!t.firstChild())return r;do r.push(...K(e,t,n));while(t.nextSibling());return t.parent(),r}function K(e,t,n){switch(t.type.id){case R.ATXHeading1:return[q(e,t,n,1,!1)];case R.ATXHeading2:return[q(e,t,n,2,!1)];case R.ATXHeading3:return[q(e,t,n,3,!1)];case R.ATXHeading4:return[q(e,t,n,4,!1)];case R.ATXHeading5:return[q(e,t,n,5,!1)];case R.ATXHeading6:return[q(e,t,n,6,!1)];case R.SetextHeading1:return[q(e,t,n,1,!0)];case R.SetextHeading2:return[q(e,t,n,2,!0)];case R.Paragraph:return[Z(e,t,n)];case R.CommentBlock:return[ri(e,t,n)];case R.HTMLBlock:case R.ProcessingInstructionBlock:return[Z(e,t,n)];case R.Blockquote:return[ii(e,t,n)];case R.BulletList:return ai(e,t,n,`bullet`);case R.OrderedList:return ai(e,t,n,`ordered`);case R.FencedCode:case R.CodeBlock:return[si(e,t,n)];case R.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case R.Table:return[ci(e,t,n)];case R.Task:return[Z(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[Z(e,t,n)])}}function q(e,t,n,r,i){let a=t.from,o=t.from,s=t.to,c=-1,l=-1;if(t.firstChild()){t.type.id===R.HeaderMark&&t.from===a&&(o=t.to);let e=-1,n=-1,r=-1;do e=t.type.id,n=t.from,r=t.to;while(t.nextSibling());e===R.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=Y(n.slice(o,s),J(n,o)).trim(),d=i?ti(n,c,l)||1:null;return e.heading({level:r,setextUnderline:d},u)}function ti(e,t,n){if(t<0)return 0;let r=0;for(let i=t;i<n;i++){let t=e.charCodeAt(i);(t===61||t===45)&&r++}return r}function J(e,t){let n=e.lastIndexOf(`
|
|
3
|
-
`,t-1)+1,r=0;for(let i=n;i<t;i++)r+=e.charCodeAt(i)===9?4-r%4:1;return r}function
|
|
1
|
+
import{Priority as e,Priority as t,createMarkBuilders as n,createNodeBuilders as r,defineBaseCommands as i,defineBaseKeymap as a,defineCommands as o,defineDOMEventHandler as s,defineHistory as c,defineKeymap as l,defineMarkSpec as u,defineMarkView as d,defineNodeAttr as f,defineNodeSpec as p,definePlugin as m,getMarkRange as h,getMarkType as ee,getNodeType as te,isAllSelection as ne,isAtBlockStart as re,isTextSelection as g,toggleNode as ie,union as _,unsetBlockType as ae,withPriority as oe,withPriority as v,withSkipCodeBlock as se}from"@prosekit/core";import{definePlaceholder as ce}from"@prosekit/extensions/placeholder";import{defineReadonly as le}from"@prosekit/extensions/readonly";import{isElementLike as ue,once as y}from"@ocavue/utils";import{defineBlockquote as de}from"@prosekit/extensions/blockquote";import{defineCodeBlock as fe,defineCodeBlockHighlight as pe}from"@prosekit/extensions/code-block";import{defineDoc as me}from"@prosekit/extensions/doc";import{defineGapCursor as he}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as ge}from"@prosekit/extensions/mod-click-prevention";import{defineText as _e}from"@prosekit/extensions/text";import{defineVirtualSelection as ve}from"@prosekit/extensions/virtual-selection";import{Plugin as b,PluginKey as x,Selection as ye,TextSelection as S}from"@prosekit/pm/state";import{Decoration as C,DecorationSet as w}from"@prosekit/pm/view";import{LanguageDescription as be}from"@codemirror/language";import{languages as xe}from"@codemirror/language-data";import{classHighlighter as Se,highlightTree as Ce}from"@lezer/highlight";import{createParser as we}from"prosemirror-highlight/lezer";import{defineHeadingCommands as Te,defineHeadingInputRule as Ee,defineHeadingSpec as De}from"@prosekit/extensions/heading";import{defineHorizontalRule as Oe}from"@prosekit/extensions/horizontal-rule";import{ReplaceStep as ke,Step as Ae,StepResult as je,Transform as Me}from"@prosekit/pm/transform";import{DOMSerializer as Ne,Mark as Pe}from"@prosekit/pm/model";import{GFM as Fe,parser as Ie}from"@lezer/markdown";import{defineInputRule as Le}from"@prosekit/extensions/input-rule";import{defineListCommands as Re,defineListDropIndicator as ze,defineListKeymap as Be,defineListPlugins as Ve,defineListSerializer as He,defineListSpec as Ue,wrapInList as T}from"@prosekit/extensions/list";import{wrappingListInputRule as E}from"prosemirror-flat-list";import{defineParagraphCommands as We,defineParagraphKeymap as Ge}from"@prosekit/extensions/paragraph";import{defineTableCellSpec as Ke,defineTableCommands as qe,defineTableDropIndicator as Je,defineTableEditingPlugin as Ye,defineTableHeaderCellSpec as Xe,defineTableRowSpec as Ze,defineTableSpec as Qe,deleteTable as $e,isCellSelection as et}from"@prosekit/extensions/table";import{closeHistory as tt}from"@prosekit/pm/history";import nt from"rehype-parse";import rt from"rehype-remark";import it from"remark-gfm";import at from"remark-stringify";import{unified as ot}from"unified";import{triggerAutocomplete as st}from"@prosekit/extensions/autocomplete";function D(e,t,n){let r=e.doc.content.size;if(t<0||t>r)return;let i=e.doc.resolve(t);if(!(!i.parent.isTextblock||i.parent.type.spec.code))return h(i,n)}const ct=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]),lt=new x(`mark-mode`);function ut(e){return new b({key:lt,state:{init:()=>e,apply:(e,t)=>t},props:{attributes:{"data-mark-mode":e},decorations:e===`focus`?e=>mt(e):void 0,clipboardTextSerializer:e===`show`?void 0:pt}})}function dt(e){return m(ut(e))}function ft(e){return lt.getState(e)}function pt(e){let t=[];return e.content.forEach(e=>{let n=[];e.descendants(e=>!e.isText||!e.text?!0:(e.marks.some(e=>ct.has(e.type.name))||n.push(e.text),!1)),t.push(n.join(``))}),t.join(`
|
|
2
|
+
`)}function mt(e){let{selection:t}=e;if(!t.empty)return w.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return w.empty;let i=h(n,ee(e.schema,`mdPack`));return i?w.create(e.doc,[C.inline(i.from,i.to,{class:`show`})]):w.empty}function O(e,t){let n=ft(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function k(e,t,n){for(let r of n){let n=D(e,t,r);if(n)return n}}function A(e,t,n){let r=k(e,t,n);return r&&r.to===t?r:void 0}function j(e,t,n){let r=k(e,t,n);return r&&r.from===t?r:void 0}function ht(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=k(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function gt(e,t){return S.create(e.doc,t.from,t.to)}function _t(e){return(t,n)=>{let r=O(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=j(t,i.from,r);if(e)return n?.(t.tr.setSelection(gt(t,e))),!0;if(A(t,i.from,r)){let e=t.doc.resolve(i.from);return i.from>=e.end()?!1:(n?.(t.tr.setSelection(S.create(t.doc,i.from+1))),!0)}return!1}let a=ht(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.to))),!0):!1}}function vt(e){return(t,n)=>{let r=O(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=A(t,i.from,r);return e?(n?.(t.tr.setSelection(gt(t,e))),!0):!1}let a=ht(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.from))),!0):!1}}function yt(e){return(t,n)=>{let r=O(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=A(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!j(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function bt(e){return(t,n)=>{let r=O(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=j(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!A(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}const xt=`md-atom-selected`;function St(e){return new b({key:new x(`atom-mark-selection`),props:{decorations:t=>{let n=O(e,t);if(n.length===0)return;let r=ht(t,n);if(r)return w.create(t.doc,[C.inline(r.from,r.to,{class:xt})]);let{from:i,to:a,empty:o}=t.selection;if(o)return null;let s=[];return t.doc.nodesBetween(i,a,(e,t)=>{e.marks.some(e=>n.includes(e.type.name))&&s.push(C.inline(t,t+e.nodeSize,{class:xt}))}),w.create(t.doc,s)}}})}function Ct({marks:e}){return _(v(l({ArrowRight:_t(e),ArrowLeft:vt(e),Backspace:yt(e),Delete:bt(e)}),t.high),m(St(e)))}const M=new Map,wt=new Map;async function Tt(e){let t=M.get(e);if(t!==void 0)return t;let n=be.matchLanguageName(xe,e,!0);if(!n)return M.set(e,null),null;let r=n.support;if(!r)try{r=await n.load()}catch(t){return console.error(`[meowdown] Failed to load language "${e}":`,t),M.set(e,null),null}return M.set(e,r),r}function Et(e,t){let n=wt.get(e);if(n)return n;let r=we({parse:e=>t.language.parser.parse(e.content),highlighter:Se});return wt.set(e,r),r}const Dt=e=>{let t=e.language?.trim();if(!t)return[];let n=M.get(t);return n===null?[]:n?Et(t,n)(e):Tt(t).then(()=>void 0)};function Ot(){return pe({parser:Dt,nodeTypes:[`codeBlock`]})}function kt(e,t){let n=t.language.parser.parse(e),r=[];return Ce(n,Se,(e,t,n)=>{r.push([e,t,n])}),r}function At(e,t){let n=t.trim();if(!n)return[];let r=M.get(n);return r===null?[]:r?kt(e,r):Tt(n).then(t=>t?kt(e,t):[])}function jt(e,t){return(n,r)=>{if(r){let i=S.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function Mt(e,t,n){return(r,i)=>{if(i){let a=S.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function Nt(){return o({selectText:jt,selectTextBetween:Mt})}function Pt(){return f({type:`doc`,attr:`frontmatter`,default:null})}function Ft(){return p({name:`heading`,whitespace:`pre`})}function It(){return f({type:`heading`,attr:`setextUnderline`,default:null,toDOM:e=>e==null?null:[`data-setext-underline`,String(e)],parseDOM:e=>{let t=e.getAttribute(`data-setext-underline`);if(t==null)return null;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)&&n>0?n:null}})}function Lt(){return f({type:`heading`,attr:`closingHashes`,default:null,toDOM:e=>e==null?null:[`data-closing-hashes`,String(e)],parseDOM:e=>{let t=e.getAttribute(`data-closing-hashes`);if(t==null)return null;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)&&n>0?n:null}})}function N(e){return se(ie({type:`heading`,attrs:{level:e}}))}const Rt=(e,t,n)=>re(e,n)?.parent.type.name===`heading`?ae()(e,t,n):!1;function zt(){return l({"Mod-1":N(1),"Mod-2":N(2),"Mod-3":N(3),"Mod-4":N(4),"Mod-5":N(5),"Mod-6":N(6),Backspace:Rt})}function Bt(){return _(De(),Ft(),It(),Lt(),Ee(),Te(),zt())}function Vt(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function Ht(){return _(Oe(),Vt())}function Ut(){return p({name:`htmlComment`,group:`block`,atom:!0,selectable:!1,attrs:{content:{default:``}},toDOM:e=>[`div`,{"data-html-comment":e.attrs.content,style:`display: none`}],parseDOM:[{tag:`div[data-html-comment]`,getAttrs:e=>({content:e.getAttribute(`data-html-comment`)??``})}]})}function Wt(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function Gt(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Pe.fromJSON(e,t))]}var P=class e extends Ae{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return je.ok(e);let t=e.content.size,n;for(let[r,i,a]of this.chunks){if(r>=i)continue;let o=Math.max(0,Math.min(r,t)),s=Math.max(o,Math.min(i,t));o>=s||e.nodesBetween(o,s,(t,r)=>{if(!t.isText)return!0;let i=Math.max(o,r),c=Math.min(s,r+t.nodeSize);if(i>=c)return!1;let l=t.marks;for(let t of l)t.isInSet(a)||(n??=new Me(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Me(e),n.addMark(i,c,t));return!1})}return je.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return Kt;let t=this.chunks[0][0],n=this.chunks[0][1];for(let[,e]of this.chunks)e>n&&(n=e);let r=e.content.size,i=Math.max(0,Math.min(t,r)),a=Math.max(i,Math.min(n,r));return new ke(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(Wt)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>Gt(t,e)))}};Ae.jsonID(`batchSetMark`,P);const Kt=new P([]),qt=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),Jt=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function Yt(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function Xt(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!qt.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!Jt.test(e))return!1;return!0}function F(e){return e===32||e===9||e===10||e===13}const Zt=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,Qt=/[\s(*_~]/;function $t(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function en(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function tn(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&en(e,t,`)`)>en(e,t,`(`))t--;else if(n===`;`){let n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(0,t));if(!n)break;t=n.index}else break}return t}const nn={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!$t(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!Qt.test(r))return-1;let i=Zt.exec(e.slice(n,e.end));if(!i)return-1;let a=tn(i[0]);return a===0||!Xt(Yt(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function rn(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===95||e>127&&/[\p{L}\p{N}]/u.test(String.fromCharCode(e))}function an(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const on={defineNodes:[{name:`Hashtag`}],parseInline:[{name:`Hashtag`,parse(e,t,n){if(t!==35||!/\s|^$/.test(e.slice(n-1,n)))return-1;let r=n+1,i=!1;for(;r<e.end;){let t=e.char(r);if(!rn(t))break;i||=an(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},sn={resolve:`Highlight`,mark:`HighlightMark`},cn=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,ln={defineNodes:[{name:`Highlight`},{name:`HighlightMark`}],parseInline:[{name:`Highlight`,after:`Emphasis`,parse(e,t,n){if(t!==61||e.char(n+1)!==61||e.char(n+2)===61)return-1;let r=e.slice(n-1,n),i=e.slice(n+2,n+3),a=/\s|^$/.test(r),o=/\s|^$/.test(i),s=cn.test(r),c=cn.test(i);return e.addDelimiter(sn,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]},un={defineNodes:[{name:`Wikilink`},{name:`WikilinkMark`}],parseInline:[{name:`Wikilink`,before:`Link`,parse(e,t,n){if(t!==91||e.char(n+1)!==91)return-1;let r=!1;for(let t=n+2;t<e.end-1;t++){let i=e.char(t);if(i===93){if(e.char(t+1)!==93||!r)return-1;let i=t+2;return e.addElement(e.elt(`Wikilink`,n,i,[e.elt(`WikilinkMark`,n,n+2),e.elt(`WikilinkMark`,t,i)]))}if(i===91||i===10)return-1;i!==32&&i!==9&&(r=!0)}return-1}}]};function dn(e){return e.end}const I=Ie.configure([Fe,on,un,nn,ln]),fn=I.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:dn}]});function L(e){return I.parseInline(e,0)}function R(e,t,n=[]){for(let r of e)t(r)&&n.push(r),R(r.children,t,n);return n}function pn(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const z=pn(I);function mn(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}function hn(e){let t=e.replace(/^\[\[/,``).replace(/\]\]$/,``),n=t.indexOf(`|`);return n<0?{target:t.trim(),display:``}:{target:t.slice(0,n).trim(),display:t.slice(n+1).trim()}}function gn(){return e=>{let t=e.attrs,n=document.createElement(`span`);n.className=`md-wikilink-view md-atom-view`;let r=document.createElement(`span`);r.className=`md-wikilink-view-preview md-atom-view-preview`,r.contentEditable=`false`,r.dataset.testid=`wikilink`,n.appendChild(r);let i=document.createElement(`span`);i.className=`md-wikilink-view-label`,i.contentEditable=`false`,i.textContent=t.display||t.target,r.appendChild(i);let a=document.createElement(`span`);return a.className=`md-wikilink-view-content md-atom-view-content`,n.appendChild(a),{dom:n,contentDOM:a,ignoreMutation:e=>!a.contains(e.target)}}}function _n(){return d({name:`mdWikilink`,constructor:gn()})}const vn=new Map([[z.Emphasis,`mdEm`],[z.StrongEmphasis,`mdStrong`],[z.InlineCode,`mdCode`],[z.Strikethrough,`mdDel`],[z.Highlight,`mdHighlight`],[z.EmphasisMark,`mdMark`],[z.CodeMark,`mdMark`],[z.LinkMark,`mdMark`],[z.StrikethroughMark,`mdMark`],[z.HighlightMark,`mdMark`],[z.URL,`mdLinkUri`],[z.LinkTitle,`mdLinkTitle`],[z.Hashtag,`mdTag`],[z.WikilinkMark,`mdMark`]]);function yn(e,t){let n=L(t),r=[];return B(n,[],0,t.length,t,e,r),r}function bn(e){if(/^[a-z][a-z0-9+.-]*:/i.test(e))return e;if(/^[^\s@]+@[^\s@]+$/.test(e))return`mailto:${e}`;if(/^www\./i.test(e)||Xt(Yt(e)))return`https://${e}`}function xn(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function B(e,t,n,r,i,a,o){let s=n;for(let n of e){n.from>s&&V(o,s,n.from,t);let e=n.type;if(e===z.Link)Sn(n,t,i,a,o);else if(e===z.Image)Cn(n,t,i,a,o);else if(e===z.Wikilink)wn(n,t,i,a,o);else if(e===z.URL){let e=bn(i.slice(n.from,n.to)),r=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();V(o,n.from,n.to,[...t,r])}else{let r;e===z.Emphasis?r=`italic`:e===z.StrongEmphasis?r=`bold`:e===z.InlineCode?r=`code`:e===z.Strikethrough?r=`strike`:e===z.Highlight?r=`highlight`:e===z.Autolink&&(r=`autolink`);let s=r?[...t,a.mdPack.create({key:r})]:t,c=vn.get(e),l=c?[...s,a[c].create()]:s;n.children.length===0?V(o,n.from,n.to,l):B(n.children,l,n.from,n.to,i,a,o)}s=n.to}s<r&&V(o,s,r,t)}function Sn(e,t,n,r,i){let a=-1,o=null,s=null,c=0;for(let t of e.children)t.type===z.LinkMark?(c++,c===2&&(a=t.from)):t.type===z.URL&&o===null?o=t:t.type===z.LinkTitle&&s===null&&(s=t);let l=o?n.slice(o.from,o.to):``,u=s?xn(n.slice(s.from,s.to)):``,d=l?r.mdLinkText.create({href:l}):null,f=e=>a>=0&&e<a&&d!==null,p=r.mdPack.create({key:`link`,data:{href:l,title:u}}),m=[...t,p],h=e.from;for(let t of e.children){if(t.from>h){let e=f(h)?[...m,d]:m;V(i,h,t.from,e)}let e=f(t.from)?[...m,d]:m;if(t.type===z.Wikilink){wn(t,e,n,r,i),h=t.to;continue}let a=vn.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?V(i,t.from,t.to,o):B(t.children,o,t.from,t.to,n,r,i),h=t.to}h<e.to&&V(i,h,e.to,m)}function Cn(e,t,n,r,i){let a=e.children.find(e=>e.type===z.URL);if(!a){Sn(e,t,n,r,i);return}let o=e.children.filter(e=>e.type===z.LinkMark),s=e.children.find(e=>e.type===z.LinkTitle),c=n.slice(a.from,a.to),l=o.length>=2?n.slice(o[0].to,o[1].from):``,u=s?xn(n.slice(s.from,s.to)):``;V(i,e.from,e.to,[...t,r.mdImage.create({src:c,alt:l,title:u})])}function wn(e,t,n,r,i){let{target:a,display:o}=hn(n.slice(e.from,e.to));V(i,e.from,e.to,[...t,r.mdWikilink.create({target:a,display:o})])}function V(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&mn(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const Tn=`inline-marks-applied`,En=new WeakMap;let Dn=0,On=0;function kn(e,t,n){let r=En.get(e);if(r?On++:(Dn++,r=yn(Kr(n),e.textContent),En.set(e,r)),t===0)return r;let i=[];for(let[e,n,a]of r)i.push([e+t,n+t,a]);return i}function An(e,t){let n=1/0,r=-1/0;for(let t of e)for(let e of t.mapping.maps)e.forEach((e,t,i,a)=>{i<n&&(n=i),a>r&&(r=a)});let i=t.doc.content.size;return n>r?{from:0,to:i}:{from:Math.max(0,n),to:Math.min(i,r)}}function jn(e,t){let n=[];return e.doc.nodesBetween(t.from,t.to,(t,r)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;if(t.childCount===0)return!1;let i=kn(t,r+1,e.schema);return i.length>0&&n.push(...i),!1}),n}function Mn(){return new b({key:new x(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(Tn))return null;let r=jn(n,An(e,n));if(r.length===0)return null;let i=n.tr.step(new P(r));return i.setMeta(Tn,!0),i.setMeta(`addToHistory`,!1),i},view(e){return e.dispatch(Nn(e.state)),{}}})}function Nn(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function Pn(){return m(Mn())}function Fn(){return u({name:`mdImage`,inclusive:!1,attrs:{src:{default:``},alt:{default:``},title:{default:``}},toDOM:()=>[`span`,{class:`md-image`},0],parseDOM:[{tag:`span.md-image`}]})}function In(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function Ln(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function Rn(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function zn(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function Bn(){return u({name:`mdLinkText`,inclusive:!1,attrs:{href:{default:``}},toDOM:e=>[`a`,{class:`md-link`,href:e.attrs.href},0],parseDOM:[{tag:`a`,getAttrs:e=>({href:e.getAttribute(`href`)??``})}]})}function Vn(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function Hn(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function Un(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function Wn(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function Gn(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function Kn(){return u({name:`mdWikilink`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink`},0],parseDOM:[{tag:`span.md-wikilink`}]})}function qn(){return u({name:`mdPack`,excludes:``,inclusive:!1,attrs:{key:{},data:{default:null}},toDOM:e=>[`span`,{class:`md-pack`,"data-key":e.attrs.key},0],parseDOM:[{tag:`span.md-pack`}]})}function Jn(){return _(In(),Ln(),Rn(),zn(),Bn(),Vn(),Hn(),Un(),Wn(),Gn(),Kn(),Fn(),qn())}function Yn(e,t=0){let n=t,r=0;for(let t=0;t<e.length;t++)e.charCodeAt(t)===96?(r++,r>n&&(n=r)):r=0;return n}const H={em:{node:z.Emphasis,delim:`*`},strong:{node:z.StrongEmphasis,delim:`**`},code:{node:z.InlineCode,delim:"`"},del:{node:z.Strikethrough,delim:`~~`},highlight:{node:z.Highlight,delim:`==`}},Xn=new Set([z.EmphasisMark,z.CodeMark,z.LinkMark,z.StrikethroughMark,z.HighlightMark]);function U(e){return[e.children[0],e.children.at(-1)]}function Zn(e){let{type:t,children:n}=e;if(t===z.Emphasis||t===z.StrongEmphasis||t===z.Strikethrough||t===z.Highlight)return[n[0].to,n.at(-1).from];if(t===z.Link||t===z.Image){let e=n.find((e,t)=>t>0&&e.type===z.LinkMark);return e?[n[0].to,e.from]:null}return null}function W(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=Zn(r);return i&&i[0]<=t&&n<=i[1]?W(r.children,t,n):W(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function Qn(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return Qn(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function $n(e,t,n){for(;t<n&&F(e.charCodeAt(t));)t++;for(;n>t&&F(e.charCodeAt(n-1));)n--;return[t,n]}function er(e,t,n,r){let i=R(L(e),e=>e.type===r.node||Xn.has(e.type));for(let r=t;r<n;r++)if(!F(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function tr(e,t,n,r,i){let a=L(e),o=R(a,e=>e.type===r.node);return i?ir(e,o,t,n):nr(e,a,o,t,n,r)}function nr(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=W(t,r,i);for(let e of n)e.to===r&&(r=e.from),e.from===i&&(i=e.to)}let o=[];for(let e of n)if(r<=e.from&&e.to<=i){let[t,n]=U(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=rr(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function rr(e,t,n,r,i){if(i.node!==z.InlineCode)return[i.delim,i.delim];let a=e.slice(t,n);for(let e of[...r].sort((e,t)=>t.from-e.from))a=a.slice(0,e.from-t)+a.slice(e.to-t);let o="`".repeat(Yn(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function ir(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=U(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=Qn(a.children.slice(1,-1),s,c);s>t.to&&F(e.charCodeAt(s-1));)s--;for(;c<o.from&&F(e.charCodeAt(c));)c++;s>t.to?i.push({from:s,to:s,insert:e.slice(o.from,o.to)}):i.push({from:t.from,to:t.to,insert:``}),c<o.from?i.push({from:c,to:c,insert:e.slice(t.from,t.to)}):i.push({from:o.from,to:o.to,insert:``})}return i}function ar(e,t,n){let{delim:r}=n,i=r.length;if(e.slice(t-i,t)===r&&e.startsWith(r,t)&&e[t-i-1]!==r[0]&&e[t+i]!==r[0])return{kind:`unwrap`,from:t-i,to:t+i};let a=L(e),o=R(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=U(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return or(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function or(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=Zn(n);return!e||t<e[0]||t>e[1]?!0:or(n.children,t)}return!1}function G(e){return(t,n)=>{if(t.selection.empty)return sr(e,t,n);let{from:r,to:i,anchor:a,head:o}=t.selection,s=[];t.doc.nodesBetween(r,i,(t,n)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;let a=t.textContent,o=n+1,[c,l]=$n(a,Math.max(r-o,0),Math.min(i-o,a.length));return c<l&&s.push({text:a,base:o,from:c,to:l,active:er(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>tr(t.text,t.from,t.to,e,c).map(e=>({from:e.from+t.base,to:e.to+t.base,insert:e.insert})));if(l.length===0)return!1;if(n){let e=t.tr;l.sort((e,t)=>t.from-e.from||t.to-e.to);for(let t of l)t.insert?e.insertText(t.insert,t.from,t.to):e.delete(t.from,t.to);e.setSelection(S.create(e.doc,e.mapping.map(a,a<=o?1:-1),e.mapping.map(o,o<a?1:-1))),n(e.scrollIntoView())}return!0}}function sr(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=ar(i.textContent,r.parentOffset,e);if(!a)return!1;if(n){let i=r.start(),o=t.tr;a.kind===`unwrap`&&o.delete(i+a.from,i+a.to),a.kind===`move`&&o.setSelection(S.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(S.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function cr(){return o({toggleEm:()=>G(H.em),toggleStrong:()=>G(H.strong),toggleCode:()=>G(H.code),toggleDel:()=>G(H.del),toggleHighlight:()=>G(H.highlight)})}function lr(){return l({"Mod-b":G(H.strong),"Mod-i":G(H.em),"Mod-e":G(H.code),"Mod-Shift-x":G(H.del),"Mod-Shift-h":G(H.highlight)})}function ur(){return _(cr(),lr())}function dr(e,t,n){let r;return e.doc.nodesBetween(t.from,t.to,(e,i)=>(e.isText&&e.marks.some(e=>e.type.name===n)&&(r={from:Math.max(i,t.from),to:Math.min(i+e.nodeSize,t.to)}),!0)),r}function K(e,t){let n=D(e,t,`mdLinkText`),r=D(e,t,`mdPack`),i=r??n;if(!i)return;let a=r?.mark.attrs,o=n?.mark.attrs?.href??``;if(!r||a?.key!==`link`)return{unit:{from:i.from,to:i.to},href:o,title:``};let s=dr(e,i,`mdLinkUri`),c=s?s.from-2:i.to-3,l=s?s.from:i.to-1;return{unit:{from:i.from,to:i.to},label:{from:i.from+1,to:c},dest:{from:l,to:i.to-1},href:a.data.href,title:a.data.title}}function fr(e){let t=e.trim();return t?bn(t)??t:``}function pr(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function mr(e){let{selection:t}=e,{$from:n,$to:r,empty:i}=t;if(i||!n.sameParent(r)||!g(t))return;let a=n.parent;if(!a.isTextblock||a.type.spec.code)return;let o=n.start(),[s,c]=$n(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function hr(e={}){return(t,n)=>{let r=pr(fr(e.href??``),e.title??``),i=mr(t);if(!i)return!1;if(n){let{from:e,to:a}=i,o=t.tr,s=`](${r})`;o.insertText(s,a).insertText(`[`,e),n(o.setSelection(S.create(o.doc,e,a+1+s.length)).scrollIntoView())}return!0}}function gr(e){return(t,n)=>{let r=K(t,t.selection.from);if(!r?.dest)return!1;let i=pr(fr(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function _r(){return(e,t)=>{let n=K(e,e.selection.from);return n?.label?(t&&t(e.tr.delete(n.label.to,n.unit.to).delete(n.unit.from,n.label.from).scrollIntoView()),!0):!1}}function vr(){return o({insertLink:hr,updateLink:gr,removeLink:_r})}function yr(e){return(t,n,r)=>{let i=K(t,t.selection.from);if(i){if(n&&r){let{unit:{from:a,to:o}}=i;n(t.tr.setSelection(S.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=mr(t);if(a){if(n&&r){let{from:i,to:o}=a;n(t.tr.setSelection(S.create(t.doc,i,o)).scrollIntoView()),r.focus(),e({from:i,to:o,link:void 0})}return!0}return!1}}function br(e){return l({"Mod-k":yr(e)})}function xr(){return f({type:`list`,attr:`marker`,default:null,splittable:!0,toDOM:e=>e===`)`||e===`*`||e===`+`?[`data-list-marker`,e]:null,parseDOM:e=>{let t=e.getAttribute(`data-list-marker`);return t===`)`||t===`*`||t===`+`?t:null}})}function Sr(){return f({type:`list`,attr:`taskMarker`,default:null,splittable:!0,toDOM:e=>e===`X`?[`data-list-task-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-list-task-marker`)===`X`?`X`:null})}function Cr(e){return e===2||e===3||e===4}function wr(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>Cr(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return Cr(t)?t:1}})}const Tr=[E(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),E(/^\s?(\d+)\.\s$/,({match:e})=>{let t=e[1],n=t?parseInt(t,10):void 0;return{kind:`ordered`,collapsed:!1,order:n&&n>=2&&Number.isSafeInteger(n)?n:null}}),E(/^\s?\[([\sXx]?)]\s$/,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),E(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function Er(){return _(Tr.map(Le))}function Dr(){return T({kind:`task`,marker:`+`})}function Or(){return T({kind:`task`,marker:null})}function kr(){return o({wrapInCircleTask:Dr,wrapInSquareTask:Or})}function Ar(e){let{$from:t}=e.selection;for(let e=t.depth;e>0;e--){let n=t.node(e);if(n.type.name===`list`)return n.attrs}return null}function jr(){return(e,t,n)=>{let r=Ar(e),i=r?.kind===`task`&&r.marker!==`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:r?.marker??null,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:null,checked:!1},T(a)(e,t,n)}}function Mr(){return(e,t,n)=>{let r=Ar(e),i=r?.kind===`task`&&r.marker===`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:`+`,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:`+`,checked:!1},T(a)(e,t,n)}}function Nr(){return l({"Mod-Enter":jr(),"Mod-Shift-Enter":Mr()})}function Pr(){return _(Ue(),Ve(),Be(),Re(),He(),ze(),Er(),Nr(),xr(),Sr(),wr(),kr())}function Fr(){return p({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function Ir(){return _(v(Fr(),t.highest),We(),Ge())}const Lr=(e,t)=>{let{selection:n}=e;return!et(n)||!n.isColSelection()||!n.isRowSelection()?!1:$e(e,t)};function Rr(){return v(l({Backspace:Lr,Delete:Lr}),t.high)}function zr(){return _(Qe(),Ze(),Ke(),Xe(),Ye({allowTableNodeSelection:!0}),qe(),Je(),Rr())}function Br(){return _(Ir(),me(),Pt(),_e(),de(),Pr(),Bt(),zr(),fe(),Ht(),Ut(),Jn(),Ot(),Pn(),ur(),vr(),_n(),Ct({marks:[{name:`mdImage`,modes:[`hide`,`focus`,`show`]},{name:`mdWikilink`,modes:[`hide`,`focus`,`show`]}]}),a(),i(),c(),he(),ve(),ge(),Nt())}function Vr(){return Br()}const Hr=y(()=>{let e=Vr().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),Ur=y(()=>r(Hr())),Wr=y(()=>n(Hr())),Gr=`meowdown_mark_builders`;function Kr(e){let t=e.cached[Gr];if(t)return t;let r=n(e);return e.cached[Gr]=r,r}const qr=`meowdown_node_builders`;function Jr(e){let t=e.cached[qr];if(t)return t;let n=r(e);return e.cached[qr]=n,n}function q(e,t={}){let{nodes:n=Ur(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=Xr(e);i=t,n&&(a=e.slice(n))}let o=Zr(n,fn.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const Yr=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function Xr(e){let t=Yr.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function Zr(e,t,n){let r=[];if(!t.firstChild())return r;do r.push(...J(e,t,n));while(t.nextSibling());return t.parent(),r}function J(e,t,n){switch(t.type.id){case z.ATXHeading1:return[Y(e,t,n,1,!1)];case z.ATXHeading2:return[Y(e,t,n,2,!1)];case z.ATXHeading3:return[Y(e,t,n,3,!1)];case z.ATXHeading4:return[Y(e,t,n,4,!1)];case z.ATXHeading5:return[Y(e,t,n,5,!1)];case z.ATXHeading6:return[Y(e,t,n,6,!1)];case z.SetextHeading1:return[Y(e,t,n,1,!0)];case z.SetextHeading2:return[Y(e,t,n,2,!0)];case z.Paragraph:return[Q(e,t,n)];case z.CommentBlock:return[ni(e,t,n)];case z.HTMLBlock:case z.ProcessingInstructionBlock:return[Q(e,t,n)];case z.Blockquote:return[ri(e,t,n)];case z.BulletList:return ii(e,t,n,`bullet`);case z.OrderedList:return ii(e,t,n,`ordered`);case z.FencedCode:case z.CodeBlock:return[oi(e,t,n)];case z.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case z.Table:return[si(e,t,n)];case z.Task:return[Q(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[Q(e,t,n)])}}function Y(e,t,n,r,i){let a=t.from,o=t.from,s=t.to,c=-1,l=-1;if(t.firstChild()){t.type.id===z.HeaderMark&&t.from===a&&(o=t.to);let e=-1,n=-1,r=-1;do e=t.type.id,n=t.from,r=t.to;while(t.nextSibling());e===z.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=ti(n.slice(o,s),X(n,o)).trim(),d=i?Qr(n,c,l)||1:null,f=!i&&c>=0&&$r(n,c,l)||null;return e.heading({level:r,setextUnderline:d,closingHashes:f},u)}function Qr(e,t,n){if(t<0)return 0;let r=0;for(let i=t;i<n;i++){let t=e.charCodeAt(i);(t===61||t===45)&&r++}return r}function $r(e,t,n){if(t<0)return 0;let r=0;for(let i=t;i<n;i++)e.charCodeAt(i)===35&&r++;return r}function X(e,t){let n=e.lastIndexOf(`
|
|
3
|
+
`,t-1)+1,r=0;for(let i=n;i<t;i++)r+=e.charCodeAt(i)===9?4-r%4:1;return r}function ei(e,t){let n=0,r=0;for(;r<e.length&&n<t;){let t=e.charCodeAt(r);if(t===32)n+=1;else if(t===9)n+=4-n%4;else break;r++}return e.slice(r)}function ti(e,t){return t===0||!e.includes(`
|
|
4
4
|
`)?e:e.split(`
|
|
5
|
-
`).map((e,n)=>n===0?e:
|
|
6
|
-
`)}function
|
|
5
|
+
`).map((e,n)=>n===0?e:ei(e,t)).join(`
|
|
6
|
+
`)}function Z(e,t,n){return e.paragraph(ti(t,n))}function Q(e,t,n){let r=t.from,i=t.to,a=X(n,r);if(t.firstChild()){let o=``,s=r;do t.type.id===z.QuoteMark&&(o+=n.slice(s,t.from),s=t.to,F(n.charCodeAt(s))&&(s+=1));while(t.nextSibling());return t.parent(),o+=n.slice(s,i),Z(e,o,a)}return Z(e,n.slice(r,i),a)}function ni(e,t,n){let r=X(n,t.from),i=ti(n.slice(t.from,t.to),r);return e.htmlComment({content:i})}function ri(e,t,n){let r=[];if(t.firstChild()){do{if(t.type.id===z.QuoteMark)continue;r.push(...J(e,t,n))}while(t.nextSibling());t.parent()}return e.blockquote(r)}function ii(e,t,n,r){let i=[];if(t.firstChild()){do t.type.id===z.ListItem&&i.push(ai(e,t,n,r));while(t.nextSibling());t.parent()}return i}function ai(e,t,n,r){let i=[],a,o,s,c,l,u;if(t.firstChild()){do{if(t.type.id!==z.ListMark&&u==null&&(u=X(n,t.from)),t.type.id===z.ListMark){if(r===`ordered`){let e=n.charCodeAt(t.to-1);e===41?c=`)`:e===46&&(c=`.`);let r=Number.parseInt(n.slice(t.from,t.to),10);s=Number.isFinite(r)?r:1}else{let e=n.charCodeAt(t.from);c=e===42?`*`:e===43?`+`:`-`}l=X(n,t.to);continue}if(r===`bullet`&&t.type.id===z.Task){let r=t.from,s=t.to;if(a=!1,t.firstChild()){if(t.type.id===z.TaskMarker){let e=n.charCodeAt(t.from+1);e===120?(a=!0,o=`x`):e===88&&(a=!0,o=`X`),r=t.to}t.parent()}F(n.charCodeAt(r))&&(r+=1);let c=n.slice(r,s);i.push(Z(e,c,X(n,r)));continue}i.push(...J(e,t,n))}while(t.nextSibling());t.parent()}let d=u!=null&&l!=null?u-l:1;return e.list({kind:a==null?r:`task`,order:r===`ordered`?s??1:null,checked:a??!1,collapsed:!1,marker:c,taskMarker:o,markerGap:d>=2&&d<=4?d:1},i)}function oi(e,t,n){let r=``,i=``;if(t.firstChild()){do switch(t.type.id){case z.CodeInfo:r=n.slice(t.from,t.to);break;case z.CodeText:i+=n.slice(t.from,t.to);break}while(t.nextSibling());t.parent()}return e.codeBlock({language:r},i)}function si(e,t,n){let r=0;if(t.firstChild()){do t.type.id===z.TableDelimiter&&(r=ci(n.slice(t.from,t.to)));while(t.nextSibling());t.parent()}let i=[];if(t.firstChild()){do{let a=t.type.id;a===z.TableHeader?i.push(li(e,t,n,!0,r)):a===z.TableRow&&i.push(li(e,t,n,!1,r))}while(t.nextSibling());t.parent()}return e.table(i)}function ci(e){return e.split(`|`).filter(e=>e.trim()!==``).length}function li(e,t,n,r,i){let a=Array(i).fill(``);if(t.firstChild()){let e=t.type.id===z.TableDelimiter,r=0;do if(t.type.id===z.TableDelimiter)r++;else if(t.type.id===z.TableCell){let o=r-+!!e;o>=0&&o<i&&(a[o]=n.slice(t.from,t.to).trim().replaceAll(String.raw`\|`,`|`))}while(t.nextSibling());t.parent()}let o=a.map(t=>{let n=e.paragraph(t);return r?e.tableHeaderCell(n):e.tableCell(n)});return e.tableRow(o)}function ui(e,t={}){let n=new mi;return t.frontmatter&&di(e.attrs.frontmatter,n),hi(e,n),n.finish()}function di(e,t){e!==null&&(t.write(`---`),t.write(`
|
|
7
7
|
`),e!==``&&(t.write(e),t.write(`
|
|
8
|
-
`)),t.write(`---`),t.closeBlock())}const fi=[``,`# `,`## `,`### `,`#### `,`##### `,`###### `];function pi(e,t){let n=e.attrs,r=n.setextUnderline;if(r!=null&&e.content.size>0&&n.level<=2){
|
|
9
|
-
`+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(fi[n.level]??`# `)
|
|
8
|
+
`)),t.write(`---`),t.closeBlock())}const fi=[``,`# `,`## `,`### `,`#### `,`##### `,`###### `];function pi(e,t){let n=e.attrs,r=n.setextUnderline;if(r!=null&&e.content.size>0&&n.level<=2){yi(e,t);let i=n.level===1?`=`:`-`;t.write(`
|
|
9
|
+
`+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(fi[n.level]??`# `),yi(e,t);let i=n.closingHashes;i!=null&&i>0&&t.write(` `+`#`.repeat(i)),t.closeBlock()}var mi=class{constructor(){this.parts=[],this.linePrefix=``,this.pendingFirst=null,this.atLineStart=!0,this.deferredBlankPrefix=null}write(e){if(e===``)return;if(this.emitDeferredBlankLine(),this.atLineStart&&=(this.parts.push(this.pendingFirst??this.linePrefix),this.pendingFirst=null,!1),!e.includes(`
|
|
10
10
|
`)){this.parts.push(e);return}let t=e.split(`
|
|
11
11
|
`);for(let e=0;e<t.length;e++)e>0&&this.parts.push(`
|
|
12
12
|
`,this.linePrefix),t[e]!==``&&this.parts.push(t[e])}closeBlock(){this.atLineStart&&this.pendingFirst!==null&&(this.emitDeferredBlankLine(),this.parts.push(this.pendingFirst.trimEnd()),this.pendingFirst=null,this.atLineStart=!1),this.atLineStart||this.parts.push(`
|
|
13
13
|
`),this.atLineStart=!0,this.deferredBlankPrefix=this.linePrefix}suppressBlank(){this.deferredBlankPrefix=null}withPrefix(e,t,n){let r=this.linePrefix,i=this.pendingFirst;if(this.linePrefix=r+e,t!==null){let e=i??r;this.pendingFirst=e+t}n(),this.linePrefix=r,this.pendingFirst=t===null?i:null}finish(){return this.parts.join(``).replace(/\s+$/,``)+`
|
|
14
14
|
`}emitDeferredBlankLine(){let e=this.deferredBlankPrefix;e!==null&&(this.parts.push(e.trimEnd(),`
|
|
15
|
-
`),this.deferredBlankPrefix=null)}};function hi(e,t){switch(e.type.name){case`doc`:gi(e,t);return;case`paragraph
|
|
15
|
+
`),this.deferredBlankPrefix=null)}};function hi(e,t){switch(e.type.name){case`doc`:gi(e,t);return;case`paragraph`:yi(e,t),t.closeBlock();return;case`heading`:pi(e,t);return;case`blockquote`:t.withPrefix(`> `,`> `,()=>gi(e,t)),t.closeBlock();return;case`list`:bi(e,t,vi(e));return;case`codeBlock`:xi(e,t);return;case`horizontalRule`:{let{marker:n}=e.attrs;t.write(n||`---`),t.closeBlock();return}case`htmlComment`:{let{content:n}=e.attrs;t.write(n),t.closeBlock();return}case`table`:Si(e,t);return;case`text`:e.text&&t.write(e.text);return}}function gi(e,t,n=!1){let r=e.childCount,i=0;for(;i<r;){let a=e.child(i);if(a.type.name!==`list`){n&&i>0&&t.suppressBlank(),hi(a,t),i++;continue}let o=i+1;for(;o<r&&e.child(o).type.name===`list`;)o++;let s=_i(e,i,o);for(let r=i;r<o;r++)(r===i?n&&i>0:s)&&t.suppressBlank(),bi(e.child(r),t,s);i=o}}function _i(e,t,n){for(let r=t;r<n;r++)if(!vi(e.child(r)))return!1;return!0}function vi(e){let t=e.childCount;for(let n=0;n<t;n++){let t=e.child(n);if(t.type.name!==`list`&&!(t.type.name===`paragraph`&&n===0))return!1}return!0}function yi(e,t){let n=e.childCount;for(let r=0;r<n;r++){let n=e.child(r);n.isText&&n.text&&t.write(n.text)}}function bi(e,t,n){let r=e.attrs,i=r.marker===`*`||r.marker===`+`?r.marker:`-`,a=r.marker===`)`?`)`:`.`,o=r.taskMarker===`X`?`X`:`x`,s=Math.min(Math.max(r.markerGap??1,1),4),c=`${r.kind===`ordered`?`${r.order??1}${a}`:i}${` `.repeat(s)}`,l=r.kind===`task`?`${c}[${r.checked?o:` `}] `:c,u=` `.repeat(c.length);t.withPrefix(u,l,()=>gi(e,t,n)),t.closeBlock()}function xi(e,t){let n=e.attrs.language||``,r=e.textContent,i="`".repeat(Yn(r,2)+1);t.write(i),n&&t.write(n),t.write(`
|
|
16
16
|
`),r&&(t.write(r),t.write(`
|
|
17
|
-
`)),t.write(i),t.closeBlock()}function
|
|
17
|
+
`)),t.write(i),t.closeBlock()}function Si(e,t){let n=e.childCount;if(n===0)return;let r=[],i=0,a=-1;for(let t=0;t<n;t++){let n=e.child(t),o=[],s=!1;for(let e=0;e<n.childCount;e++){let t=n.child(e);t.type.name===`tableHeaderCell`&&(s=!0),o.push(wi(t))}s&&a<0&&(a=t),o.length>i&&(i=o.length),r.push(o)}if(i===0)return;let o=`| `+Array(i).fill(`---`).join(` | `)+` |`,s=a>=0?r[a]:Array(i).fill(``);t.write(Ci(s,i)),t.write(`
|
|
18
18
|
`),t.write(o);for(let e=0;e<n;e++)e!==a&&(t.write(`
|
|
19
|
-
`),t.write(
|
|
19
|
+
`),t.write(Ci(r[e],i)));t.closeBlock()}function Ci(e,t){let n=`|`;for(let r=0;r<t;r++)n+=` `+(e[r]??``)+` |`;return n}function wi(e){let t=e.textContent.trim();return!t.includes(`|`)&&!t.includes(`
|
|
20
20
|
`)?t:t.replaceAll(`|`,String.raw`\|`).replaceAll(`
|
|
21
|
-
`,` `)}function
|
|
22
|
-
`).filter(e=>!
|
|
23
|
-
`)}function
|
|
21
|
+
`,` `)}function Ti(e){return e.replace(/\n+$/u,``)}function Ei(e){return/^[\s>]*$/u.test(e)}function Di(e){return e.split(`
|
|
22
|
+
`).filter(e=>!Ei(e))}function Oi(e){return e.trim().replaceAll(/\s+/gu,` `)}function ki(e,t={}){let n=ui(q(e,{frontmatter:t.frontmatter}),{frontmatter:t.frontmatter});if(Ti(n)===Ti(e))return`exact`;let r=Di(e),i=Di(n);return r.length===i.length&&r.every((e,t)=>Oi(e)===Oi(i[t]))?`normalizing`:`lossy`}const Ai=(e,t)=>{let{$from:n,empty:r}=e.selection;if(!r||n.depth!==1||n.index(0)!==0||n.parent.type.name!==`heading`||n.parentOffset!==n.parent.content.size)return!1;if(t){let r=te(e.schema,`list`),i=te(e.schema,`paragraph`),a=r.create({kind:`bullet`},i.create()),o=n.after(),s=e.tr.insert(o,a);s.setSelection(S.create(s.doc,o+2)),t(s.scrollIntoView())}return!0};function ji(){return v(l({Enter:Ai}),t.high)}const Mi=new Set([`MscGen`,`Xù`,`MsGenny`,`Angular Template`,`Brainfuck`,`Esper`,`Oz`,`Factor`,`Squirrel`,`Yacas`,`mIRC`,`FCL`,`ECL`,`MUMPS`,`Pig`,`Asterisk`,`Z80`]),Ni=xe.map(e=>e.name).filter(e=>!Mi.has(e)).map(e=>({label:e,value:e.toLowerCase()})).concat({label:`Plain text`,value:``}).sort((e,t)=>e.label.localeCompare(t.label));function Pi(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const Fi=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,Ii=/\/status(?:es)?\/(\d+)/;function Li(e){let t;try{t=new URL(e)}catch{return}if(Fi.test(t.hostname))return Ii.exec(t.pathname)?.[1]}const Ri=e=>{let t=Li(e);if(!t)return;let n=Pi()?`dark`:`light`;return{kind:`tweet`,key:`tweet:${t}`,src:`https://platform.twitter.com/embed/Tweet.html?id=${t}&theme=${n}&dnt=true`,title:`Tweet`,className:`md-embed md-embed-tweet`,testid:`tweet-embed`}};function zi(e){let t=t=>{if(t.source===e.contentWindow)try{let n=t.data?.[`twttr.embed`]?.params?.[0]?.height;typeof n==`number`&&(e.style.height=`${n}px`)}catch(e){console.warn(`[meowdown] failed to parse tweet resize message:`,e)}};window.addEventListener(`message`,t);let n=!1,r=()=>{n||(n=!0,window.removeEventListener(`message`,t),i.disconnect())},i=new MutationObserver(()=>{e.isConnected||r()});return i.observe(document.body,{childList:!0,subtree:!0}),r}const Bi=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,Vi=/^(?:www\.)?youtu\.be$/i,Hi=/^[\w-]{11}$/;function Ui(e){let t;try{t=new URL(e)}catch{return}let n=null;if(Vi.test(t.hostname))n=t.pathname.slice(1);else if(Bi.test(t.hostname)){let[,e,r]=t.pathname.split(`/`);t.pathname===`/watch`?n=t.searchParams.get(`v`):(e===`shorts`||e===`embed`||e===`live`)&&(n=r??null)}if(!n||!Hi.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?Wi(r):void 0;return{videoId:n,startSeconds:i}}function Wi(e){if(/^\d+$/.test(e))return Number(e);let t=/^(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$/.exec(e);if(!(!t||!t[1]&&!t[2]&&!t[3]))return Number(t[1]??0)*3600+Number(t[2]??0)*60+Number(t[3]??0)}const Gi=[e=>{let t=Ui(e);if(!t)return;let n=t.startSeconds?`?start=${t.startSeconds}`:``;return{kind:`youtube`,key:`youtube:${t.videoId}:${t.startSeconds??0}`,src:`https://www.youtube-nocookie.com/embed/${t.videoId}${n}`,title:`YouTube video`,className:`md-embed md-embed-youtube`,testid:`youtube-embed`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen`,allowFullscreen:!0}},Ri];function Ki(e){for(let t of Gi){let n=t(e);if(n)return n}}const qi=new x(`meowdown-embed-paste`);function Ji(e){let t=e.trim();if(!(!t||/\s/.test(t)))return Ki(t)?t:void 0}function Yi(e,t){return e.clipboardData?.getData(`text/plain`)||t.content.textBetween(0,t.content.size,`
|
|
23
|
+
`)}function Xi(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(tt(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch(tt(i))}function Zi(){return m(new b({key:qi,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=Yi(t,n);if(!i)return!1;let a=Ji(i);return a?(Xi(e,a),!0):!1}}}))}const Qi=new x(`meowdown-exit-boundary`);function $i(e,t){let{$anchor:n,$head:r}=e.selection,i=t>0?n.max(r):n.min(r),a=i.parent.inlineContent?i.depth?e.doc.resolve(t>0?i.after():i.before()):void 0:i;return!!(a&&ye.findFrom(a,t))}function ea(e,t){let{state:n}=e,{selection:r}=n;return g(r)&&!r.empty||ne(r)||r.$from.parent.inlineContent&&!e.endOfTextblock(t<0?`up`:`down`)?!0:$i(n,t)}function ta(e){return new b({key:Qi,props:{handleKeyDown:(t,n)=>{if(n.shiftKey||n.altKey||n.ctrlKey||n.metaKey)return!1;let r=n.key===`ArrowUp`?-1:n.key===`ArrowDown`?1:void 0;return!(!r||ea(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function na(e){return v(m(ta(e)),t.low)}const ra=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},ia=(e,t,n,r)=>{let i=e,a=n.createTracker(r),o=a.move(`==`);return o+=a.move(n.containerPhrasing(i,{...a.current(),before:o,after:`=`})),o+=a.move(`==`),o};function aa(){return ot().use(nt).use(rt,{handlers:{mark:ra}}).use(it).use(at,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:ia}}).freeze()}const oa=y(aa);function sa(e){return String(oa().processSync(e))}const ca=new x(`meowdown-html-paste`);function la(){return m(new b({key:ca,props:{transformPastedHTML:(e,t)=>{if(e.includes(`data-pm-slice`))return e;let n=t.state.selection.$from.parent;if(!n.inlineContent||n.type.spec.code)return e;let r=sa(e);if(!r.trim())return e;let i=q(r,{nodes:Jr(t.state.schema)}),a=Ne.fromSchema(t.state.schema),o=document.createElement(`div`);return o.append(a.serializeFragment(i.content)),o.innerHTML}}}))}const ua=new x(`meowdown-image-click`);function da(e,t){let n=D(e,t,`mdImage`);if(!n)return;let{src:r,alt:i}=n.mark.attrs;return{from:n.from,to:n.to,src:r,alt:i}}function fa(e){return m(new b({key:ua,props:{handleClick:(t,n,r)=>{let i=r.target?.closest?.(`.md-image-view-preview`);if(!i)return!1;let a=i.closest(`.md-image-view`)?.querySelector(`.md-image-view-content`);if(!a)return!1;let o=da(t.state,t.posAtDOM(a,0));return o?(e({src:o.src,alt:o.alt,event:r}),!0):!1}}}))}function pa(e){return/^https?:\/\//i.test(e)?e:void 0}function ma(e){let t=document.createElement(`iframe`);return t.src=e.src,t.title=e.title,t.className=e.className,t.dataset.testid=e.testid,t.loading=`lazy`,t.referrerPolicy=`strict-origin-when-cross-origin`,t.setAttribute(`frameborder`,`0`),e.allow&&(t.allow=e.allow),e.allowFullscreen&&(t.allowFullscreen=!0),e.kind===`tweet`&&zi(t),t}function ha(e,t,n){let r=Ki(e);if(r){let e=document.createElement(`span`);return e.className=`md-image-view-preview md-atom-view-preview`,e.appendChild(ma(r)),e}let i=(n.resolveImageUrl??pa)(e);if(!i)return;let a=document.createElement(`span`);a.className=`md-image-view-preview md-atom-view-preview`,a.dataset.testid=`image-preview`;let o=document.createElement(`img`);return o.src=i,o.alt=t,o.draggable=!1,a.appendChild(o),a}function ga(e){return t=>{let{src:n,alt:r}=t.attrs,i=document.createElement(`span`);i.className=`md-image-view md-atom-view`;let a=document.createElement(`span`);a.className=`md-image-view-content md-atom-view-content`;let o=ha(n,r,e);return o&&(o.contentEditable=`false`,i.appendChild(o)),i.appendChild(a),{dom:i,contentDOM:a,ignoreMutation:e=>!a.contains(e.target)}}}function _a(e){return e?Array.from(e.files).filter(e=>e.type.startsWith(`image/`)):[]}const va=e=>{console.error(`[meowdown] failed to save pasted image:`,e)};async function ya(e,t,n,r=va,i){let a=i;for(let i of t){let t;try{t=await n(i)}catch(e){r(e,i);continue}if(!t||e.isDestroyed)continue;let o=``,s=a==null?e.state.tr.insertText(o):e.state.tr.insertText(o,a);e.dispatch(s),a!=null&&(a+=o.length)}}function ba(e){return new b({key:new x(`image-input`),props:{handlePaste:(t,n)=>{let r=_a(n.clipboardData),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(ya(t,r,i,a),!0)},handleDrop:(t,n)=>{let r=_a(n.dataTransfer),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(ya(t,r,i,a,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function xa(e={}){return _(d({name:`mdImage`,constructor:ga(e)}),v(m(ba(e)),t.high))}const Sa={"Mod-b":`Bold`,"Mod-i":`Italic`,"Mod-e":`Inline code`,"Mod-Shift-x":`Strikethrough`,"Mod-Shift-h":`Highlight`,"Mod-k":`Link`,"Mod-1":`Heading 1`,"Mod-2":`Heading 2`,"Mod-3":`Heading 3`,"Mod-4":`Heading 4`,"Mod-5":`Heading 5`,"Mod-6":`Heading 6`};function $(e){return m(new b({key:e.key,props:{handleClick:(t,n,r)=>{if(!r.target?.closest?.(e.selector))return!1;let i=e.findPayloadAt(t.state,n);return i==null?!1:(e.preventDefault&&r.preventDefault(),e.onClick(i,r),!0)}}}))}const Ca=new x(`meowdown-link-click`);function wa(e){return $({key:Ca,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>K(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function Ta(e){let t,n=(n,r)=>{let i=r.target;if(!i||!ue(i))return;let a=i.closest(e.selector);if(!a||a===t)return;let o=n.posAtDOM(a,0),s=e.findPayloadAt(n.state,o);s!=null&&(t=a,e.onHoverChange({payload:s,element:a}))},r=n=>{if(!t)return;let r=n.relatedTarget;r&&t.contains(r)||(t=void 0,e.onHoverChange(void 0))};return _(s(`mouseover`,(e,t)=>n(e,t)),s(`mouseout`,(e,t)=>r(t)))}function Ea(e){return Ta({selector:`.md-link`,findPayloadAt:(e,t)=>K(e,t),onHoverChange:e})}const Da=new x(`meowdown-markdown-copy`);function Oa(){return m(new b({key:Da,props:{clipboardTextSerializer:(e,t)=>{let n=e.content,r;try{r=t.state.schema.topNodeType.createAndFill(void 0,n)??void 0}catch{r=void 0}return r?ui(r).replace(/\n+$/,``):n.textBetween(0,n.size,`
|
|
24
24
|
`,`
|
|
25
|
-
`)}}}))}const
|
|
25
|
+
`)}}}))}const ka=new x(`meowdown-tag-click`);function Aa(e,t){let n=D(e,t,`mdTag`);if(!n)return;let r=e.doc.textBetween(n.from,n.to),i=r.startsWith(`#`)?r.slice(1):r;return{from:n.from,to:n.to,tag:i}}function ja(e){return $({key:ka,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>Aa(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const Ma=new x(`meowdown-wikilink-click`);function Na(e,t){let n=D(e,t,`mdWikilink`);if(!n)return;let{target:r}=n.mark.attrs;return{from:n.from,to:n.to,target:r}}function Pa(e){return $({key:Ma,selector:`.md-wikilink-view-preview`,preventDefault:!1,findPayloadAt:(e,t)=>Na(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const Fa=(e,t)=>{let{selection:n}=e;if(!n.empty&&!n.$head.sameParent(n.$anchor))return!1;let r=e.doc.textBetween(n.from,n.to);if(r.startsWith(`[[`))return!1;r.startsWith(`[`)&&(r=r.slice(1));let i=`[[`+r;if(t){let r=e.tr.insertText(i,n.from,n.to);r.setSelection(S.create(r.doc,n.from+i.length)),st(r),t(r.scrollIntoView())}return!0};function Ia(){return l({"Mod-Shift-k":Fa})}function La(e,t){let n=()=>{let n=e.coordsAtPos(t.from),r=e.coordsAtPos(t.to),i=Math.min(n.left,r.left),a=Math.max(n.right,r.right),o=Math.min(n.top,r.top),s=Math.max(n.bottom,r.bottom);return new DOMRect(i,o,a-i,s-o)};return{getBoundingClientRect:n,getClientRects:()=>[n()]}}export{Sa as EDITOR_KEY_BINDINGS,e as Priority,ki as checkRoundTrip,Ni as codeBlockLanguages,pa as defaultResolveImageUrl,ji as defineBulletAfterHeading,Ot as defineCodeBlockSyntaxHighlight,Vr as defineEditorExtension,Zi as defineEmbedPaste,na as defineExitBoundaryHandler,Ut as defineHTMLComment,la as defineHTMLPaste,xa as defineImage,fa as defineImageClickHandler,wa as defineLinkClickHandler,vr as defineLinkCommands,br as defineLinkEditKeymap,Ea as defineLinkHoverHandler,dt as defineMarkMode,Oa as defineMarkdownCopy,ce as definePlaceholder,le as defineReadonly,ja as defineTagClickHandler,Pa as defineWikilinkClickHandler,Ia as defineWikilinkTrigger,ui as docToMarkdown,At as getCodeTokens,K as getLinkUnitAt,Wr as getMarkBuilders,La as getVirtualElementFromRange,yn as inlineTextToMarkChunks,hr as insertLink,zi as listenForTweetHeight,q as markdownToDoc,Ki as matchEmbed,_r as removeLink,gr as updateLink,oe as withPriority};
|
package/dist/style.css
CHANGED
|
@@ -420,7 +420,7 @@ img.ProseMirror-separator {
|
|
|
420
420
|
background: var(--meowdown-selection);
|
|
421
421
|
}
|
|
422
422
|
|
|
423
|
-
.ProseMirror
|
|
423
|
+
.ProseMirror.ProseMirror-hideselection ::selection {
|
|
424
424
|
--meowdown-selection: transparent;
|
|
425
425
|
caret-color: #0000;
|
|
426
426
|
}
|
|
@@ -443,35 +443,8 @@ img.ProseMirror-separator {
|
|
|
443
443
|
background: color-mix(in oklab, var(--meowdown-accent) 10%, transparent);
|
|
444
444
|
color: color-mix(in oklab, var(--meowdown-accent) 80%, var(--meowdown-heading));
|
|
445
445
|
cursor: pointer;
|
|
446
|
-
border-radius:
|
|
447
|
-
padding:
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
.ProseMirror .md-wikilink-label, .ProseMirror .md-wikilink-source {
|
|
451
|
-
color: var(--meowdown-accent);
|
|
452
|
-
text-underline-offset: 2px;
|
|
453
|
-
cursor: pointer;
|
|
454
|
-
text-decoration: underline 1px dashed;
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
.ProseMirror[data-mark-mode="show"] .md-wikilink-label {
|
|
458
|
-
display: none;
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
.ProseMirror .md-image-preview-img {
|
|
462
|
-
vertical-align: bottom;
|
|
463
|
-
display: inline-block;
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
.ProseMirror .md-image-preview-img img {
|
|
467
|
-
max-height: var(--meowdown-image-max-height, 24rem);
|
|
468
|
-
border-radius: var(--meowdown-image-radius, .5rem);
|
|
469
|
-
max-width: 100%;
|
|
470
|
-
}
|
|
471
|
-
|
|
472
|
-
.ProseMirror .md-image-preview-embed {
|
|
473
|
-
margin-block: .5rem;
|
|
474
|
-
display: block;
|
|
446
|
+
border-radius: 6px;
|
|
447
|
+
padding: 2px 6px;
|
|
475
448
|
}
|
|
476
449
|
|
|
477
450
|
.ProseMirror .md-embed-youtube {
|
|
@@ -489,21 +462,6 @@ img.ProseMirror-separator {
|
|
|
489
462
|
display: block;
|
|
490
463
|
}
|
|
491
464
|
|
|
492
|
-
.ProseMirror[data-mark-mode="hide"] .md-image-view:has(.md-atomic-selected) .md-image-preview, .ProseMirror .md-wikilink-view:has(.md-atomic-selected) .md-wikilink-label {
|
|
493
|
-
outline: 2px solid var(--meowdown-node-outline);
|
|
494
|
-
outline-offset: 2px;
|
|
495
|
-
background: var(--meowdown-node-selection);
|
|
496
|
-
border-radius: .25rem;
|
|
497
|
-
}
|
|
498
|
-
|
|
499
|
-
.ProseMirror[data-mark-mode="hide"] .md-image-view:has(.md-atomic-selected) .md-image-preview {
|
|
500
|
-
border-radius: var(--meowdown-image-radius, .5rem);
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
.ProseMirror:has(.md-atomic-selected) {
|
|
504
|
-
caret-color: #0000;
|
|
505
|
-
}
|
|
506
|
-
|
|
507
465
|
.ProseMirror .prosekit-placeholder:before {
|
|
508
466
|
content: attr(data-placeholder);
|
|
509
467
|
float: left;
|
|
@@ -529,17 +487,13 @@ img.ProseMirror-separator {
|
|
|
529
487
|
}
|
|
530
488
|
|
|
531
489
|
.ProseMirror[data-mark-mode="hide"] {
|
|
532
|
-
& .md-mark, & .md-link-uri, & .md-link-title
|
|
490
|
+
& .md-mark, & .md-link-uri, & .md-link-title {
|
|
533
491
|
display: none;
|
|
534
492
|
}
|
|
535
493
|
}
|
|
536
494
|
|
|
537
495
|
.ProseMirror[data-mark-mode="focus"] {
|
|
538
|
-
& .md-
|
|
539
|
-
display: none;
|
|
540
|
-
}
|
|
541
|
-
|
|
542
|
-
& .md-mark, & .md-link-uri, & .md-link-title, & .md-image-source {
|
|
496
|
+
& .md-mark, & .md-link-uri, & .md-link-title {
|
|
543
497
|
vertical-align: bottom;
|
|
544
498
|
letter-spacing: -2em;
|
|
545
499
|
display: inline-block;
|
|
@@ -551,37 +505,80 @@ img.ProseMirror-separator {
|
|
|
551
505
|
}
|
|
552
506
|
}
|
|
553
507
|
|
|
554
|
-
.ProseMirror
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
}
|
|
559
|
-
|
|
560
|
-
.ProseMirror[data-mark-mode="hide"] .md-image-view-content, .ProseMirror[data-mark-mode="focus"] .md-image-view-content {
|
|
561
|
-
overflow: hidden;
|
|
508
|
+
.ProseMirror {
|
|
509
|
+
& .md-atom-view {
|
|
510
|
+
vertical-align: bottom;
|
|
511
|
+
display: inline-block;
|
|
512
|
+
}
|
|
562
513
|
|
|
563
|
-
|
|
564
|
-
|
|
514
|
+
& .md-atom-view-preview {
|
|
515
|
+
vertical-align: bottom;
|
|
516
|
+
-webkit-user-select: none;
|
|
517
|
+
user-select: none;
|
|
518
|
+
border-radius: 6px;
|
|
519
|
+
display: inline-block;
|
|
520
|
+
overflow: hidden;
|
|
565
521
|
}
|
|
566
|
-
}
|
|
567
522
|
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
523
|
+
& .md-atom-view:has(.md-atom-selected) {
|
|
524
|
+
& .md-atom-view-preview {
|
|
525
|
+
outline: 2px solid var(--meowdown-node-outline);
|
|
526
|
+
background: var(--meowdown-selection);
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
& ::selection {
|
|
530
|
+
background-color: #0000;
|
|
531
|
+
}
|
|
532
|
+
}
|
|
574
533
|
|
|
575
|
-
&
|
|
534
|
+
& .md-atom-view-content {
|
|
535
|
+
letter-spacing: -2em;
|
|
536
|
+
box-sizing: border-box;
|
|
576
537
|
color: #0000;
|
|
577
538
|
background-color: #0000;
|
|
539
|
+
align-items: end;
|
|
540
|
+
width: 2px;
|
|
541
|
+
margin-left: 2px;
|
|
542
|
+
margin-right: -4px;
|
|
543
|
+
display: inline-flex;
|
|
544
|
+
overflow: visible;
|
|
578
545
|
}
|
|
579
546
|
}
|
|
580
547
|
|
|
581
|
-
.ProseMirror
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
548
|
+
.ProseMirror {
|
|
549
|
+
& .md-image-view {
|
|
550
|
+
margin-left: 2px;
|
|
551
|
+
margin-right: 2px;
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
& .md-image-view-preview {
|
|
555
|
+
outline-offset: 2px;
|
|
556
|
+
border-radius: 6px;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
& .md-image-view-preview img {
|
|
560
|
+
max-height: var(--meowdown-image-max-height, 24rem);
|
|
561
|
+
border-radius: var(--meowdown-image-radius, .5rem);
|
|
562
|
+
max-width: 100%;
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
.ProseMirror {
|
|
567
|
+
& .md-wikilink-view-label {
|
|
568
|
+
background: color-mix(in oklab, var(--meowdown-accent) 10%, transparent);
|
|
569
|
+
color: color-mix(in oklab, var(--meowdown-accent) 80%, var(--meowdown-heading));
|
|
570
|
+
text-underline-offset: 2px;
|
|
571
|
+
cursor: pointer;
|
|
572
|
+
border-radius: 6px;
|
|
573
|
+
padding: 2px 5px;
|
|
574
|
+
text-decoration-line: underline;
|
|
575
|
+
text-decoration-style: dashed;
|
|
576
|
+
text-decoration-thickness: 1px;
|
|
577
|
+
overflow: hidden;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
& .md-wikilink-view:has(.md-atom-selected) .md-wikilink-view-label {
|
|
581
|
+
background-color: #0000;
|
|
582
|
+
outline-color: #0000;
|
|
583
|
+
}
|
|
587
584
|
}
|